Help Contents

To get help on an item, click the icon or underlined text. Make sure to see Essentials first for an overview.

	Essentials	Concepts and skills you need to work with Paradox
	Tasks	Step-by-step directions on working in each Paradox window
	Menu Commands	Menu commands and dialog boxes in each Paradox window
	SpeedBar	How to use SpeedBar buttons
	Keyboard	Keystroke shortcuts for Paradox menu commands
	Glossary	Definitions of terms used in Paradox


Tasks
Common Tasks in Paradox

Paradox gives you a wide variety of ways to store, display, and present data. The components you use to store and present your date are called objects. An object can be a table, form, report, query, script, or library. These objects make up the Paradox object set.

You create each object in Paradox in its own special window.  Click one of the icons below to see information on tasks for creating an object in its window.

This is the Form window, where you design and run forms

This is Library window, where you build libraries of frequently-used ObjectPAL routines

This is the Query window, where you design and run queries

This is the Report window, where you design and run reports

This is the Script window, where you edit and run ObjectPAL methods

This is the Folder window, where you can quickly view and access the contents of the working directory

This is the Table window, where you enter and view data in tables

See Also

Tasks common to all windows:

Designing documents

Using crosstabs and graphs

Exchanging data


Menu Commands
Menu Commands in Paradox

Paradox gives you a wide variety of ways to store, display, and present data. The components you use to store and present your data are called objects. An object can be a table, form, report, query, script, or library. These objects make up the Paradox object set.

You create each object in Paradox in its own special window.  Click one of the icons below to see information on menu commands you use to create an object in its window.

This is the Form window, where you design and run forms

This is the Library window, where you build libraries of frequently-used ObjectPAL routines

This is the Query window, where you design and run queries

This is the SQL Editor window, where you edit and run SQL code

This is the Report window, where you design and run reports

This is the Script window, where you edit and run ObjectPAL methods

This is the Folder window, where you can quickly view and access the contents of the working directory

This is the Table window, where you enter and view data in tables

See Also

Common menu commands


Essentials

These are some basic things you need to know to work with Paradox. Click on a topic below to see more information:

The Desktop and child windows

Desktop icons

Objects

The SpeedBar

The Folder window

Aliases

Working directory

Private directory

The Object Inspector

Floating palettes

Using the mouse in Paradox

Navigating and editing

The data model

Printing

ObjectPAL

Help system

Exiting Paradox

Product support information

Networking Paradox

Workgroup Desktop


The Desktop and Child Windows

The Desktop is the primary Paradox workspace. All windows are opened on the Desktop and are contained by the Desktop.

The Desktop is the parent window in Paradox. All other windows in Paradox are child windows, meaning that they have some degree of independence, but cannot exist freely without the Desktop.

Each type of object in Paradox (like tables, queries, or reports) appears in its own type of window. For example, forms appear in a Form window, and queries appear in a Query window.

Each type of window has some specialized commands and functions that apply only to that type. All commands and functions of the Desktop remain available in child windows.

See Also

Desktop icons

Objects

Common menu commands


Desktop Icons

When you minimize a Paradox child window, they shrink to one of the icons you see below. Click one in this table to get Help on what you can do in that window.

	Form window		Library window
	Query window		Report window
	Script window		Table window
	Folder window
Icons in a Folder window or in the Browser represent either objects or references to objects in Paradox, such as tables, forms, reports, or queries. Each type of object has its own icon.

See Also

The Desktop and child windows

Objects

Browser


Objects

Paradox uses objects to store, display, and present information.

Objects include

Files on a disk

Tables, forms, reports, queries, scripts, and libraries

Design objects are objects you create with SpeedBar tools and place in forms and reports in a design window. Design objects include

Text objects

Boxes, lines, and ellipses

Fields and tables

Crosstabs and graphs

Multi-record objects

Buttons

Graphics

OLE objects

Document pages

See Also

The Folder window

The Object Inspector


The Folder Window

The Folder window displays icons for objects in the working directory. These objects can be Paradox objects or non-Paradox objects.

Use the Folder window SpeedBar icons to add and delete items from the folder.

Non-Paradox objects must be explicitly added. If you copy a file from outside of Paradox into the working directory, an icon for it will not appear in the folder.

Choose Folder | Show All Files to display icons for all Paradox objects in the working directory.

From the Folder window, you can right-click object icons to view their menus, or double-click to perform the default action (first item on the menu).

Choose File | Open | Folder or click the Open Folder SpeedBar button to open the Folder window.

See Also

Opening a folder

Objects

Desktop icons

The SpeedBar


Aliases

An alias is a name you can assign as a shortcut to a directory.

Suppose you have a collection of tables, text files, scripts, forms, reports, and graphics all in one directory where you're working on an ObjectPAL application. This collection of files is located in a directory called C:\ PARADOX \ PROJECTS \ NEW \ PLANNER. Using the Alias Manager dialog box, you can give that full path a name---an alias. For example, if you alias this directory as :MYWORK:, you can then simply use :MYWORK: instead of the full directory path when you need files from C:\ PARADOX \ PROJECTS \ NEW \ PLANNER.

Aliases give you several powerful advantages:

You avoid typing long path names.

File references within forms, reports, and similar Paradox objects can use alias names rather than full paths. This makes your applications portable. You can move the entire application without recoding all references (just change the alias definition). Used this way, an alias is a variable for a directory path.

You can change the definition of an alias at any time. All forms, reports, or other Paradox objects that refer to the alias automatically refer to the new definition of the alias. For example, you can design a complex multi-table form using files on your computer's hard disk, referencing tables with an alias to a directory on your disk. When you're ready to share the form on a network, you simply move the tables on which the form is based to a network directory and redefine the alias to point to that directory. The form then knows where to find the tables on the network.

See Also

Creating a new alias

Alias Manager dialog box

Modifying an alias


Creating a New Alias

Creating Standard aliases lets you give logical names to directories and is strongly encouraged, since it frees you from absolute path names, making your files more portable.

Use the Alias Manager dialog box to create new aliases. To open this dialog box, choose File | Aliases from the Desktop.

To create a new alias,

1.	Choose New in the Alias Manager dialog box.

2.	Type the name (alias) you want to give the directory in the Database Alias text box.

3.	Choose the driver you want from the Driver Type list. The Driver Type list shows all the drivers you are connected to.

If you want to create a database of Paradox and dBASE tables, choose STANDARD.

4.	Enter the full path of the directory location, including the drive letter, in the Path text box.

5.	If you want this to be a temporary alias, existing only until you exit Paradox, choose Keep New. Then choose OK or Cancel to close the Alias Manager dialog box.

6.	If you want this alias to be permanent (usable any time you use Paradox) choose Save As. You'll see the Save File As dialog box. By default, Paradox stores saved aliases in ODAPI.CFG.

7.	Either create a new alias or choose OK to exit the Alias Manager dialog box. You will be warned about overwriting the existing ODAPI.CFG file. Choose Yes because you are updating the ODAPI file.

Tip:	To create an alias with similar characteristics to one you already have, choose New to open up a space in the Alias list, then select the one to copy from the list and make your changes to the resulting display. Choose Keep New to save the new alias.

See Also

Alias Manager dialog box

Modifying an alias

Aliases


Modifying an Alias

You can change the type or path of an alias. Changes take effect immediately and last until you exit Paradox unless you use Save As to save them permanently.

To modify an alias,

1.	From the Desktop, choose File | Aliases to open the Alias Manager dialog box.

2.	In the Database Alias list box, select the alias to change.

3.	Type the changes in the appropriate type-in box. You can change anything but the name of the alias; to change an alias name is to create a new alias.

4.	When the parameters are the way you want them, choose OK.

You can modify as many aliases as you want. Make sure all aliases are defined as you want them before you choose OK.

See Also

Alias Manager dialog box

Creating a new alias

Aliases


Working Directory

A Paradox working directory contains the tables and objects with which you are currently working. For example, if you're working with tables, forms, reports and queries in the C:\ PDOXWIN \ BUDGET directory, you can make that your working directory.

The working directory controls which files are displayed in Open Document and Save File As dialog boxes. If you specify a different working directory, the files displayed in these dialog boxes are the files of that directory. It is recommended that you use working directories to organize your files.

When you install Paradox on a local drive (not a network drive), Paradox creates a directory named WORKING below the system directory. This is your default working directory. See Getting Started for information about your default working directory if you are using Paradox from a network installation.

Note:	Paradox assigns your working directory the alias :WORK:. Paradox overrides any other alias you may have specified as long as the directory is your working directory.

To change your working directory,

1.	Choose File | Working Directory. You see the Set Working Directory dialog box.

2.	Enter the location (full path) of the directory you want in the Working Directory text box, or choose Browse to open the Browser. You can choose any directory, path, or alias from the Browser.

Paradox enters the directory you choose in the Working Directory text box. When you choose OK, Paradox moves to that directory. Changing to a different working directory is just as easy---just repeat the process.

When you specify a directory as your working directory, Paradox creates a file called PDOXWORK.INI and stores it in the directory. This file contains the last saved state of the Desktop (which windows were open and their sizes). Paradox saves changes you make to the Desktop while in your working directory whenever you change working directories or exit Paradox. If you delete PDOXWORK.INI, Paradox uses default Desktop settings.

See Also

Aliases

Creating a new alias

Browser

Working directories

Networking Paradox


Private Directory

In a multiuser environment, you need a place to put your temporary objects. You need to store temporary tables, such as Answer or Inserted, in a nonshared directory or other users could overwrite them. All Paradox users need their own private directory when they run Paradox.

Filescontained in your private directory are displayed with the working directory's files in all File | Open or File | Save dialog boxes. They are visible and available to you, but not to other network users.

To specify where you want your private directory, choose File | Private Directory. Paradox assigns the :PRIV: alias to your private directory.

If you do not specify a private directory, Paradox uses the PRIVATE directory, which is installed below your system directory when you install Paradox on a local (non-network) drive. If you have no local hard disk, the network home directory on the file server should be used as the private directory.

Note: When you change private directories, Paradox releases any locks you've placed on any tables and deletes all your temporary tables. Make sure you don't need any of your temporary tables before you change private directories.

See Also

File | Private Directory

Private directories

Networking Paradox


Using the Mouse in Paradox

Although you can perform most functions in Paradox using the keyboard, you should take advantage of the speed and flexibility of the mouse. A mouse is not required for data entry; but it is required for many operations in designing documents.

Mouse action:	Does this:

Left click	Selects an object or activates a command. In forms and tables, you can move to a field by positioning the pointer on it and clicking the left mouse button.

Drag	Moves an object or changes its size, shape, or position.

In a table, you can select a group of fields by clicking the field where you want to begin and dragging to draw a box around all the fields you want. The pointer changes to a four-headed arrow.

In reports, you drag to resize bands. The pointer changes to the shape of a two-headed arrow when you pass it over the part of the band that you drag to resize the band. You can drag up or down on either the top or bottom border of the band area.

Note: There is no keyboard equivalent to dragging report bands.

Right click	Inspects an object (opens its Properties menu) so you can view or change its properties.

See Also

Selecting objects with the mouse

Selecting from lists

Direct manipulation

The Object Inspector


Selecting Objects with the Mouse

Click a design object to select it. Handles appear around the selected object.

To select	Do this

A field	Point and click

Specific text	Point and click, then click to place the insertion point and drag to select the text

Several objects	Hold down Shift while clicking the objects

Adjacent objects	Hold down Shift while you drag an imaginary box around them

When you hold down Ctrl while clicking, the selection state of a group of objects toggles on and off.

If you have trouble selecting a field contained in another field, keep clicking until handles are displayed on the exact object you want. The name of the selected object appears on the status line in the lower right corner of your screen. This lets you make sure you know what object is selected when you're inspecting an object's properties.

See Also

Selecting from lists

Containing objects


Selecting from Lists

To select	Do this

A single item	Click it

A contiguous block	Click the first item, then Shift+click the last item

Scattered items	Ctrl+click (hold down Ctrl while you click the items)

In some Paradox lists, you can select more than one item at a time; for example, lists of files to be moved into another list in the dialog box. In other lists, where you open or save a file, you can select only one name.


Direct Manipulation

Drag Paradox design objects to change their size, shape, or position.

To make a box bigger in a form or report, drag one of its handles.

To resize a column of a table, drag the column line to where you want it.

To move a column of a table, drag it to its new position.

Some helpful hints

To move the column of a table, position the mouse at the top of the column.

If a text object does not resize with the handles, try inspecting the text object and changing its grow options.

You can resize only the first page in a form. The other pages have handles only to show when they are selected.

If an OLE object or bitmap does not resize with handles, turn off Size To Fit on its menu (Design | Size To Fit)

If an object has the Pin property on, it will not move in the pinned direction when you drag.

See Also

Pinning objects on a form

Pinning objects on a report

Size To Fit


The Object Inspector

Every Paradox object and design object has a collection of self-contained properties that determine its appearance (and sometimes its behavior). Properties are things like color, number format, or text style. Complex objects, such as tables, have many available properties. For example, a table has properties for each column, each heading, and the grid. You can change these properties in the Table window.

In Paradox, you can use the Object Inspector to view and change an object's properties.

Mouse

The easiest way to inspect an object is to right-click it. A menu of the object's properties appears. Click the property you want to view or change. To get Help, select any property that is not followed by an arrow  [image] , then press F1.

Keyboard

If you prefer to use the keyboard to inspect an object, press Alt to activate the main menu. Many commands have shortcut keys, shown next to the command on drop-down menus.

In a Table window,

Choose Grid, Data, or Heading from the Properties menu to change properties of parts of a table. Or press F6 as a shortcut to choosing Properties | Data for the selected field.

Press Shift+F6 to change properties of all columns.

In a Form or Report design window. press Tab to select an object, then press F6 to see its properties.

You can change properties of a graph object as a whole. But to change properties of parts of a graph object, you must use a mouse.

When Paradox displays the menu, you can use the Up and Down arrow keys to move through the choices, and press Enter to choose a command.

To get Help, use the arrow keys to select any property that is not followed by arrow  [image] , then press F1.

What can I inspect?

You can right-click almost anything in Paradox: design objects; object icons; a table's grid; a graph's background, titles, series, legends, or axes; and tools on the SpeedBar. You can inspect and change just about anything you see onscreen.

Inspecting multiple objects

Paradox makes it easy for you to inspect more than one object at a time. Suppose you have a box, an ellipse, and a text object. You can multi-select them and inspect them all at once.

Multi-select the objects and right-click one of the selected objects to display its property menu. Paradox applies the property you choose to all selected objects which can accept it.

See Also

Penetrating properties

Floating palettes

Menu commands


Penetrating Properties

Penetrating properties are all the property choices that Paradox could apply to any object in a selected group.To view a menu of penetrating properties, you hold down Ctrl and at the same time right-click an object. (Using the keyboard, press Shift+F6.)

When you choose a property from this menu, Paradox applies your property choice to all objects for which the property is valid and to any objects contained by a selected object. Some of the properties can apply to any of the objects. Others might apply to only one of the objects.

Containers

When several objects are contained by another object (for example, if a box and an ellipse and a text object are contained by a larger box), you can inspect the container itself, or the container and all objects it contains.

Select the container and right-click to display the container's properties. Paradox applies property choices only to the container.

Select the container and Ctrl+right-click to display penetrating properties of the container and all objects contained in it. Paradox applies your property choice to all objects for which the property is valid.

Pages

Suppose you want to inspect everything on the form or report. First you must make sure no objects are selected, then inspect the page.

Select nothing and right-click to display the page's properties. Paradox applies your property choice only to the page.

Select nothing and Ctrl+right-click to display the penetrating properties objects on the page. Paradox applies your property choice to all objects for which the property is valid.

Tip:	You can also change the properties of several different object types by using the floating property palette.

See Also

The Object Inspector

Floating palettes


Floating Palettes

Paradox displays some property choices on palettes rather than menus. A palette shows you what the choices are, rather than telling you. Most visual properties are displayed in palettes rather than described in menus. Floating palettes stay onscreen as long as you need them.

Each temporary palette has a snap at the top. To keep the palette onscreen, click the snap. You can move a floating palette anywhere on the Desktop by dragging its title bar.

When you've finished using a floating property palette, click the snap in its upper right corner to remove it from the screen.


Navigating and Editing

Click the navigation buttons on the SpeedBar to move quickly to parts of the database you want to see.

Top of file

Up one set of records

Up one record

Down one record

Down one set of records

End of file

A set of records is the number of records currently visible onscreen.


The Data Model

A data model in Paradox is a diagram of table relationships in a design document.

You can view or change the data model in the Data Model dialog box. Just click the Data Model button on the SpeedBar of a Form or Report Design window. Using the Data Model dialog box, you can bind tables to documents and specify how they are linked to each other.

See Also

Data Model dialog box

Multi-table documents


Printing

Use File | Print to print a table, form, or report. Or click the Print button.

When you choose Print, Paradox opens the Print File dialog box. This dialog box has different options, depending on the kind of document you're printing.

Tables: Paradox prints your preferred report or generates a default report.

Forms: Paradox prints all pages of either the form's design or a record's data, depending on what you are seeing onscreen.

Reports: Paradox can print the design from the Report Design window, or the current page or entire report from the Report window.

You can also print a report by choosing the Print button on the SpeedBar. Paradox prints the preferred report, if you've specified one; otherwise it creates a default style.

When you print a table, Paradox creates a default report in a tabular format, using the table's name as a page header and including page numbers and the current date. This may not be a good choice if your table contains very long memo fields. In that case you will probably want to design a preferred report starting with a single record style.

Choose File | Printer Setup to change printer options in the Windows Printer Setup dialog box.

See Also

Printing forms

Printing a report


ObjectPAL

ObjectPAL is an event-driven, object-oriented programming language, different from a traditional procedural language where you create a file of commands that execute one after another.

Using ObjectPAL, you place design objects (for example, buttons and fields) in a form and attach code modules, called methods, that execute when something happens to the object.

See Also

ObjectPAL type reference

Introduction to ObjectPAL

Objects

Events

Procedures

Methods

Properties

Containership

Variables

ObjectPAL IDE

The ObjectPAL Editor

The ObjectPAL Debugger


Help System

The Help menu is one way of using Paradox's Help system. You can also choose any Help button or press F1 at any time to open the Help system.

When you use the Help menu, you use its menu commands to choose the subject you want help on.

When you choose any Help button from a dialog box, you get help on using that dialog box.

When you press F1 with a menu command highlighted, Paradox assumes you want help with that command and selects a Help topic accordingly. This type of help is called context sensitive; the context in which you ask for help determines the help provided. In a chain of menu commands, you must highlight the last one to get help.

For more information on using Help, press F1 in any active Help window. To get back to Paradox Help, use the Help window History button.

See Also

Help windows

Jumps


Help Windows

Paradox has three Help windows:

The main Paradox Help window in the right half of your screen

The ObjectPAL Help window across the bottom two-thirds of your screen

The reminder window in the lower left corner of your screen

You can resize and move all these windows. However, we recommend that you leave the ObjectPAL window full-screen width. Then, when you use Edit | Copy from the Help window menu to copy code examples into your methods, the lines of code will wrap properly and your method will run.

Buttons

Choose Home to return from the ObjectPAL window to the main Paradox Help window.

Choose Search to open the Search window. This is an index of the current Help window (Paradox in the right half of your screen, or ObjectPAL across the bottom). Type the word you want to jump to that part of the list, or use the scroll bar.

Choose Back to see the previously viewed Help screen.

Choose << or >> to browse forward through a sequence of topics.

Choose History to open the History window, where you can select a topic from a list of Help screens you've already seen this session.

See Also

Jumps


Jumps

Paradox Help has four kinds of jumps:

Full jumps

Reminder jumps

Pop-up lists

Pop-up definitions

Full jumps and reminder jumps are green and underlined with a solid line. The topic you jump to stays onscreen until you jump somewhere else or browse forward.

All full jumps are added to the History list, so you can go back to them later.

Pop-up lists and pop-up definitions are green with a dotted underline. Pop-ups stay only until you click somewhere.

See Also

Full jumps

Reminder jumps

Pop-up lists

Pop-up definitions


Full Jumps

When you choose a jump from the See also list at the bottom of a Help screen, you go to that topic. It could be in the same section of Help or in another section. It replaces the topic you were reading in the main Help window.

Click the Back button to go back to the previous topic.

Click the icon next to the topic title to return to the beginning of the section you're browsing.

All full jumps are added to the History list, so you can go back to them later.

See Also

Reminder jumps

Pop-up lists

Pop-up definitions


Reminder Jumps

When you choose a jump in the middle of a paragraph, that topic opens in a small window in the lower left corner of your screen. This window can be enlarged and moved, but has no buttons for searching or moving to previous topics. Go back to the main Help window to continue browsing.

All reminder jumps are duplicated as full jumps in the See also list at the end of the topic, so you can open them in the main Help window if you want to.

Jumps to the small reminder window are not added to the History list. The reminder window stays open (though often hidden) until you close it or exit Paradox.

Use the Control Menu button in the reminder window to close it.

See Also

Full jumps

Pop-up lists

Pop-up definitions


Pop-Up Lists

When you click a dotted underlined jump from a list, a pop-up window opens with a further list of topics to choose from. Choose the topic you want. The pop-up window closes and the new topic replaces the old one in the main Help window.

If you do not want any of these topics, click anywhere in the main Help window to close the pop-up window. The topic you were reading is still in the main Help window.

Pop-up windows are not added to the History list.

See Also

Full jumps

Reminder jumps

Pop-up definitions


Pop-Up Definitions

When you click a dotted underlined word in the middle of a paragraph, you see a definition of the term as Paradox uses it. Click anywhere when you're through reading the definition. The topic you were reading stays in the main Help window.

Pop-up windows are not added to the History list.

See Also

Full jumps

Reminder jumps

Pop-up lists


Exiting Paradox

You can exit from Paradox in a variety of ways:

Choose File | Exit

Choose Close from the window Control menu

Double-click the window Close box

Press Alt+F4

If you try to exit without saving your changes, Paradox displays a dialog box asking you to confirm that you want to exit and asking if you want to save any changes you've made to the Paradox Desktop.


Product Support Information

Borland offers a variety of services to help you with your questions. Be sure to send in the registration card; registered owners are entitled to receive technical support and information on upgrades and supplementary products. North American customers can register by phone 24 hours a day: 1-800-845-0147.

If you have not found the information you need in either the Paradox manuals or help system, choose one of the following Borland resources:

TechFax

1-800-822-4269

TechFax is a 24-hour automated service that sends free technical information to your fax machine. You can use your Touch-Tone phone to request up to three documents per call.

Automated Support

1-800-524-8420 (voice) or 408-431-5250 (modem)

Automated Support provides recorded answers to the most-frequently asked questions about Paradox, Quattro Pro, and dBASE IV. This system is available 24 hours a day, 7 days a week through any Touch-Tone telephone or modem.

Download BBS

408-439-9096 (modem up to 9600 baud)

The Borland Download BBS has sample files, applications, and technical information you can download with your modem. No special setup is required.

Online Information Services

Subscribers to the CompuServe, GEnie, or BIX information services can receive technical support by modem. Use the commands in the following table to contact Borland while accessing an information service.

Service	Command

CompuServe	GO BORLAND

BIX	JOIN BORLAND

GEnie	BORLAND

Address electronic messages to Sysop or All. Don't include your serial number; messages are in public view unless sent by a service's private mail system. Include as much information on the question as possible; the support staff will reply to the message within one working day.

For additional details on these and other Borland services, please refer to the Borland Support and Services Guide included in your product package.


Paradox for Windows Error

If you see forward and backward browse buttons in the message box, Paradox has a stack of messages there, explaining more about the problem.

To find out more, click the forward browse button in the error message box.

To go back to a previous message, click the backward browse button.

If you see no browse buttons in the message box, there are no more messages.


Paradox for Windows Error

If you see forward and backward browse buttons in the message box, Paradox has a stack of messages there, explaining more about the problem.

To find out more, click the forward browse button in the error message box.

To go back to a previous message, click the backward browse button.

If you see no browse buttons in the message box, there are no more messages.

If you are testing an undelivered form, you can click the Design button to open the form in its Design window.


The SpeedBar

Below the menu, each window has a collection of buttons and design tools, called the SpeedBar. The SpeedBar is there to speed up your tasks. Many SpeedBar buttons provide quick equivalents to menu commands or keystrokes. Others provide handy ways for you to navigate through your data.

To see what a tool or button does, point to it and watch the status line.

These are the buttons on the SpeedBar when you're on an empty Desktop or in a Folder window. Click a button below to see specific information on it.

Open Table Open Query Open Report Open Library Add Folder Item Open Folder		Open Form Open SQL Script Open Script Remove Folder Item
Like the menus, the SpeedBar changes when the active window changes. Each window has a unique SpeedBar.

See Also

Moving the SpeedBar

Modifying a Design window SpeedBar

SQL Editor SpeedBar

Design window SpeedBars

Form Design SpeedBar

Report Design SpeedBar

View window SpeedBars

Form View SpeedBar

Report Preview SpeedBar

Query window SpeedBar

Table window SpeedBar

ObjectPAL

Library window SpeedBar

ObjectPAL Editor SpeedBar

ObjectPAL Debugger SpeedBar


Form Design SpeedBar

The Form Design SpeedBar has all the tools you need to place objects on forms and manipulate them. You can modify the layout of the palette and define the default settings of each tool to suit your needs. Click a tool below to see specific information on it.

Cut Paste View Data Selection Arrow Line tool Text tool OLE tool Field tool Multi-Record tool Crosstab tool Data Model Open Folder		Copy Print Box tool Ellipse tool Graphic tool Button tool Table tool Graph tool Object Tree
When you're in a design window, click a tool to use it in your design document. The pointer changes to the shape of the tool you choose.

See Also

Design tools

Creating a new form


Report Design SpeedBar

The Report Design SpeedBar has all the tools you need to place and manipulate objects on reports. You can modify the layout of the palette and define the default settings of each tool to suit your needs. Click a tool below to see specific information on it.

Cut Paste View Data Selection Arrow Line tool Text tool OLE tool Table tool Graph tool Data Model Open Folder		Copy Print Box tool Ellipse tool Graphic tool Field tool Multi-Record tool Add Band Object Tree
Click a tool to use it in your design document. The pointer changes to the shape of the tool you choose.

See Also

Design tools

Creating a new report


Form View SpeedBar

All actions performed by SpeedBar buttons can be performed through menu commands or shortcut keys. The SpeedBar, as its name implies, is provided to speed up your operations. Click a button below to see specific information on it.

Cut Paste Design Locate Field Value First Record Previous Record Next Record Set Field View Table View Open Folder		Copy Print Locate Next Previous Record Set Next Record Last Record Edit Data
The six buttons that control movement among records (First Record, Previous Record, and so on) are collectively called navigation buttons.

See Also

Opening a form


Report Preview SpeedBar

All actions performed by SpeedBar buttons can be performed in other ways, either through menu commands or shortcut keys. The SpeedBar, as its name implies, is provided to speed up your operations. Click a button below to see specific information on it.

Design First Page Next Page Go To Page Open Folder		Print Previous Page Last Page
The buttons that control movement among records are collectively called navigation buttons.

See Also

Opening a report


Table Window SpeedBar

All actions performed by buttons on the SpeedBar can be performed in other ways, either through menu commands or through shortcut keys. The SpeedBar, as its name implies, is provided to speed up your operations.

The following figure shows the buttons available on the Table window's SpeedBar. The buttons that control movement among records are collectively called navigation buttons. Click a button below to see specific information on it.

Cut Paste Print Locate Field Value First Record Previous Record Next Record Set Field View Quick Form Quick Graph Open Folder		Copy Locate Next Previous Record Set Next Record Last Record Edit Data Quick Report Quick Crosstab
See Also

Tables


Query Window SpeedBar

The SpeedBar in the Query Editor window provides some shortcuts to common menu commands, as well as an alternative method of joining tables with example elements. Click a button below to see specific information on it.

Cut Paste Run Query Add Table Display SQL Join Tables Field View Open Folder		Copy Remove Table Answer Table Properties
See Also

Query window


Library Window SpeedBar

The SpeedBar in the Library window provides some shortcuts to common menu commands. Click a button below to see specific information on it.

Cut Paste Print Check Syntax Methods Dialog Open Folder		Copy Set Breakpoint Save and Exit
See Also

Libraries


ObjectPAL Editor SpeedBar

The SpeedBar in the ObjectPAL Editor window provides some shortcuts to common menu commands. Click a button below to see specific information on it.

Cut Paste Run Check Syntax Methods Dialog Object Tree Open Folder		Copy Print Set Breakpoint Save and Exit
See Also

The ObjectPAL Editor


SQL Editor SpeedBar

The SpeedBar in the SQL Editor window provides some shortcuts to common menu commands. Click a button below to see specific information on it.

Cut Paste Run Search Select Alias Answer Table Options Open Folder		Copy Search Next


ObjectPAL Debugger SpeedBar

The SpeedBar in the ObjectPAL Debugger window provides some shortcuts to common menu commands. Click a button below to see specific information on it.

Run Set Breakpoint Step Over Inspect Variables Object Tree Open Folder		Methods Dialog Box Step Into
See Also

The ObjectPAL Debugger


Moving the SpeedBar

If you do not want the SpeedBar to appear beneath the menu, choose Properties | Desktop to open the Desktop Properties dialog box. There you can move the display of buttons on the SpeedBar to a detached floating palette. Check Floating and choose 1 or 2 columns, or 1 or 2 rows, then choose OK.

You can then drag the top of the floating SpeedBar to move it where you want it.

To return the SpeedBar to its position under the menu, uncheck Floating, or choose Fix from the SpeedBar's Control menu.

See Also

Modifying a design window SpeedBar


Modifying a Design Window SpeedBar

You can change properties of a design window SpeedBar or of individual tools on it. You can also change the properties of an object after you create it with a tool.

To change SpeedBar properties

Use Properties | Desktop to make the SpeedBar float or fixed below the Desktop menu. If you choose floating, you can choose the shape as well.

Click the SpeedBar's Control Menu button to return it quickly to its fixed position under the menu bar.

To change an individual tool's properties

Inspect the tool to display its menu. You can change any of these properties. When you change a tool's properties, all objects subsequently created with that tool will have the new properties.

You can also change a tool's properties by selecting an object in the design window that has all the properties set the way you want them, and then choosing Design | Copy To SpeedBar. This changes the properties of that tool, and all objects subsequently created with the tool will have the new properties.

Note:	Design | Copy to SpeedBar does not change the properties of any objects contained by the object you select. You have to change the properties of each contained object separately.

Changes you make using Copy To SpeedBar last only for the current Paradox session. To save the tool's new properties to the next session, use Properties | Designer.

Some objects do not correspond to tools on the SpeedBar (pages, records in a table or multi-record object, the edit region of a labeled field). When you select these objects and choose Copy To SpeedBar Paradox copies their properties to a "hidden" tool. For example, if you have a labeled field that you like, you can copy (in turn) the field, the text label, and the edit region to the SpeedBar. Then every field you create will be a labeled field that looks like your template.

See Also

Moving the SpeedBar

Properties | Designer

Designer Properties dialog box


Common Menu Commands

The Desktop menu is the top-level menu in Paradox. It is from the Desktop that you move objects, set preferences, open and close files, and work with other Windows applications.

The File, Properties, Window, and Help menus are always available on the Desktop, even if no windows are opened.

Whenever you open a window on the Desktop, additional menus are displayed on the menu bar. The Edit menu is similar for all these windows, and so is considered a common menu. Since the Properties menu varies greatly from window to window; it is discussed with window-specific menus. Menus unique to a specific Paradox window, such as the Form menu for the Form window, are always located between the Edit and Properties menus.

Click on a topic below to see information on common menus and commands in Paradox.

File menu 	Window menu

Edit menu	Help menu


File menu

File | New

File | Open

File | Save

File | Save As

File | Print

File | Printer Setup

File | Utilities

File | Multiuser

File | System Settings

File | Working Directory

File | Private Directory

File | Aliases

File | Exit


File | New

Choose File | New to

Design a new table, form, or report

Write a new query, ObjectPAL script, or SQL statement (if you have SQL Link installed)

Shortcut: Right-click the appropriate button on the Desktop's SpeedBar and choose New.

  Form

Choose File | New | Form to design a form for viewing or editing data in one or more tables. The Data Model dialog box opens. Select from the list the tables you want, or leave this undefined. If you specify a master table, you can choose for a form type a single-record, tabular, multi-record, or blank layout. For more information, see Creating forms (an overview).

  Library

Choose File | New | Library to create an ObjectPAL library. A library is a Paradox object that stores custom code. Libraries are useful for storing and maintaining frequently used routines, and for sharing custom methods and variables among several forms. When you choose File | New | Library, Paradox opens the Library window. Inspect the Library window and choose a method from the Methods dialog box. For more information, see Libraries.

  Query

Choose File | New | Query to create a new query. The Select File dialog box opens, where you can choose the table you want to query. When you choose a table and click OK, Paradox opens a Query window, where you specify your query criteria. Once in the Query window, you can add or remove tables with the Add Table and Remove Table SpeedBar buttons. For more information, see Queries.

   SQL

Choose File | New | SQL File to create new SQL scripts. SQL is the the standard language for storing and manipulating data in relational databases. When you choose File | New | SQL File, Paradox opens the SQL Editor. This command is only available if you have installed Borland SQL Link.

  Report

Choose File | New | Report to create a report on one or more tables. The Data Model dialog box opens. You can select from the list the tables you want, or leave this undefined. For more information, see Creating reports (an overview).

  Script

Choose File | New | Script to write an ObjectPAL method. A standalone script is a form without a window or objects inside. When you choose File | New | Script, Paradox opens the ObjectPAL Editor window, where you type the code. You can edit the methods for a standalone script as you would for any other object. For more information, see Scripts.

  Table

Choose File | New | Table to create a table. The Table Type dialog box opens. Select the table type you want from the list box and choose OK. This takes you to the Create Table dialog box. For more information, see Tables.

See Also

Forms

Libraries

Queries

Reports

Scripts

Tables

Creating forms (an overview)

Creating reports (an overview)

Data Model dialog box

Select File dialog box

Create Table dialog box


Creating Forms (An Overview)

When you create a form,

1.	Begin by choosing the tables you want your form to display. You choose these tables in the Data Model dialog box. If you do not want to choose tables at this point, choose OK. You can revise the data model later.

2.	After you've chosen tables in the Data Model dialog box, click OK to open the Design Layout dialog box. Here you can create a starting point to your design and specify the way major data objects appear on the form. Later, in the Form Design window, you can move and resize them, and give them the properties you want.

3.	Click Page Layout in the Design Layout dialog box to open the Page Layout dialog box. (If you did not choose any tables for the data model, Paradox opens the Page Layout dialog box directly, without going through design layout.) Here you specify page size and tell Paradox whether you're designing the form to be printed or displayed onscreen.

4.	When you click OK in the Page Layout dialog box, Paradox opens the Form Design window where you can complete the details of your design.

See Also

Forms


Creating Reports (An Overview)

When you create a report,

1.	Begin by choosing the tables you want your report to display. You choose these tables in the Data Model dialog box. If you do not want to choose tables at this point, choose OK. You can revise the data model later.

2.	If you've chosen tables in the Data Model dialog box, click OK to open the Design Layout dialog box. Here you can create a starting point to your design and specify the way major data objects appear on the report. Later, in the Report Design window, you can move and resize them, and give them the properties you want.

3.	Click Page Layout in the Design Layout dialog box to open the Page Layout dialog box.(If you did not choose any tables for the data model, Paradox opens the Page Layout dialog box directly, without going through design layout.) Here, you specify page size and tell Paradox whether you're designing the report to be printed or displayed onscreen.

4.	When you click OK in the Page Layout dialog box, Paradox opens the Report Design window where you can complete the details of your design.

See Also

Reports


Scripts

Use the Script window to edit ObjectPAL methods that are not attached to a form.

ObjectPAL is an event-driven, object-oriented programming language, different from a traditional procedural language where you create a file of commands that execute one after another.

Using ObjectPAL, you place objects (for example, buttons and fields) in a form and attach code modules, called methods, that execute when something happens to the object.

See Also

ObjectPAL type reference

Introduction to ObjectPAL

Objects

Events

Procedures

Methods

Properties

Containership

Variables

ObjectPAL IDE

The ObjectPAL Editor

The ObjectPAL Debugger


Libraries

A library is a Paradox object that stores custom code. Libraries are useful for storing and maintaining frequently used routines, and for sharing custom methods and variables among several forms. When you choose File | New | Library, Paradox opens the Library window. When you inspect the Library window, the Methods dialog box opens.

In many ways, working with a library is like working with a form. For example, a library has built-in methods. You add code to a library just as you do to a form, using the Methods dialog box and the ObjectPAL Editor. As with a form, you can open Editor windows to declare custom methods, procedures, variables, constants, data types, and external routines.

However, there are some important differences:

At run time, a library does not display in a window.

A library cannot contain design objects, it can contain only code.

In a Library, statements that use Self do not refer to the Library---instead, they refer to the object that called the method.

The scoping rules are different for libraries.

Choose File | New | Library to create an ObjectPAL library.

See Also

Library window tasks

The Methods dialog box

ObjectPAL Integrated Development Environment menu


Select Fields Dialog Box

Use the Select Fields dialog box to specify which fields to use in the layout of a form or report.

The table(s) you've chosen for the design appear on the left side of the dialog box. All the fields of the selected table appear in the Selected Fields list. When you open a new form or report, you always start with all fields. When you open an existing design document, only the fields previously included in its design appear in the Selected Fields list.

To open the Select Fields dialog box, choose the Select Fields button in the Design Layout dialog box.

Dialog Box Options

Selected Fields

The fields from the table you selected are shown here. Paradox includes all fields from this list in the design. Fields appear in the design in the order they are shown in this list

To add another field without removing the first, click the table's drop-down arrow and Ctrl+click the field you want. That field is added to those already in the Selected Fields list.

Remove Field

To remove a field displayed in Selected Fields, choose it and click Remove Field.

To remove all fields and add only one, click the table's drop-down arrow and choose the field you want from the list. That field replaces those in the Selected Fields list.

Change Order

To change the order of the fields in the list, choose the field you want to move and use the up and down Change Order arrows.

All changes you make in the Select Fields dialog box can be modified in the design window. You can replace removed fields there using the Field tool. The Select Fields dialog box gives you the opportunity to make choices before opening the design window.

See Also

Data Model dialog box


File | Open

Choose File | Open to

Work with a table, form, or report

View or run a query

View or run a SQL statement (if you have SQL Link installed)

Edit an ObjectPAL script or library

Open a folder

Shortcut: Click the appropriate button on the Desktop's SpeedBar.

  Form

When you choose File | Open | Form, you see the Open Document dialog box. Type the name of the form you want or select it from the list. Check View Data (to preview the form) or Design (to change the way it looks), then click OK. Paradox opens the file in the Form window.

You can also use these steps to create a report that uses a form as the basis for its design; just be sure to choose Open As Report in the Open Document dialog box.

  Library

Choose File | Open | Library to view or edit an ObjectPAL library. A library is a Paradox object that stores custom code. Libraries are useful for storing and maintaining frequently used routines, and for sharing custom methods and variables among several forms. When you choose File | Open | Library, Paradox displays the Open Document dialog box, where you type the file to open or select it from the list. Paradox opens the Library window. Inspect the Library window and choose a method to edit.

  Query

Choose File | Open | Query to see the Select File dialog box. Type the name of the query you want or select it from the list, then click OK. Paradox opens the file in the query window.

  SQL

Choose File | Open | SQL File to open an SQL script. SQL is the standard language for storing and manipulating data in relational databases. When you choose File | Open | SQL File, Paradox opens the SQL Editor. This command is only available if you have installed Borland SQL Link.

  Report

When you choose File | Open | Report, you see the Open Document dialog box. Type the name of the report you want or select it from the list. If you check View Data (to preview the report), or Design (to change the way it looks), and choose OK. Paradox opens the file in the Report window. Check Print to send the report to the printer.

You can also use this option to create a form that looks like the record band of one of your reports; just be sure to choose Open As Form in the Open Document dialog box.

  Script

Choose File | Open | Script to view or edit a standalone ObjectPAL script. A standalone script is a form without a window or objects inside. You can edit the methods for a standalone script as you would for any other object. When you choose File | Open | Script, Paradox displays the Open Document dialog box, where you type the file to open or select it from the list. If you check Play, Paradox runs the script. If you choose Design (to edit the script), Paradox opens the file in the ObjectPAL Editor window.

  Table

Choose File | Open | Table to open the Open Table dialog box. Type the table name you want or select it from the list, then click OK. Paradox opens the file in the Table window.

 Workgroup Desktop

Choose File | Open | Workgroup Desktop to open Workgroup Desktop and the Object Exchange (OBEX). Workgroup Desktop and OBEX let you share tables, queries, and portable folders with other Workgroup desktop users. This option is only available if you installed Workgroup Desktop when you installed Paradox.

  Folder

Choose File | Open | Folder to see the folder for the working directory. Paradox opens a Folder window showing icons of objects in the working directory. From the Folder window, you can right-click an icon to view a menu of what the object can do, or double-click an icon to open it.

See Also

Forms

Libraries

Queries

Reports

Scripts

Tables

Folders

Open Document dialog box

Open Table dialog box


Open Table Button

Use the Open Table button to work with a table. Clicking the Open Table button on the SpeedBar is the same as choosing File | Open | Table from the menu.

When you click the Open Table button, you see the Open Table dialog box. Type the table name you want or select it from the list, then click OK.

You can also inspect the button, then either

choose Open to open a table

choose New to create a new table


Open Form Button

Use the Open Form button to work with a form. Clicking the Open Form button on the SpeedBar is the same as choosing File | Open | Form from the menu.

When you click the Open Form button, you see the Open Document dialog box. Type the name of the form you want or select it from the list. Check View Data (to preview the form) or Design (to change the way it looks), then click OK. Paradox opens the file.

You can also use these steps to create a report that uses a form as the basis for its design; just be sure to choose Open As Report in the Open Document dialog box.

You can also inspect the button, then either

choose Open to open a form

choose New to create a new form


Open Query Button

Use the Open Query button to view or run a query. Clicking the Open Query button on the SpeedBar is the same as choosing File | Open | Query from the menu.

When you click the Open Query button, you see the Select File dialog box. Type the name of the query you want or select it from the list, then click OK. Paradox opens the file in the query window.

You can also inspect the button, then either

choose Open to open a query

choose New to create a new query


Open SQL Button

Use the Open SQL button to open and display a SQL statement in the SQL Editor. Clicking the Open SQL button on the SpeedBar is the same as choosing File | Open | SQL from the menu.

When you click the Open SQL button, you see the Select File dialog box. Type the name of the SQL file you want or select it from the list, then choose OK. Paradox opens the file.

You can also inspect the button, then either

choose Open to open a SQL file

choose New to create a new SQL file


Open Report Button

Use the Open Report button to work with a report. Clicking the Open Report button on the SpeedBar is the same as choosing File | Open | Report from the menu.

When you click the Open Report button, you see the Open Document dialog box. Type the name of the report you want or select it from the list. If you check View Data (to preview the report), or Design (to change the way it looks), and choose OK. Paradox opens the file. Or you can check Print to send the report to the printer.

You can also use this option to create a form that looks like the record band of one of your reports; just be sure to choose Open As Form in the Open Document dialog box.

You can also inspect the button, then either

choose Open to open a report

choose New to create a new report


Open Script Button

Use the Open Script button when you want to view or edit a standalone ObjectPAL script. Clicking the Open Script button on the SpeedBar is the same as choosing File | Open | Script from the menu.

A standalone script is a form without a window or objects inside. You can edit the methods for a standalone script as you would for any other object.

When you click the Open Script button, Paradox displays the Open Document dialog box. Type the file to open or select it from the list. If you check Play, Paradox runs the script. If you choose Design (to edit the script), Paradox opens the file in the ObjectPAL Editor window.

You can also inspect the button, then either

choose Open to open a script

choose New to create a new script


Open Library Button

Use the Open Library button when you want to view or edit an ObjectPAL library. Clicking the Open Library button on the SpeedBar is the same as choosing File | Open | Library from the menu.

A library is a Paradox object that stores custom code. Libraries are useful for storing and maintaining frequently used routines, and for sharing custom methods and variables among several forms.

When you click the Open Library button, Paradox displays the Open Document dialog box. Type the file to open or select it from the list. Paradox opens the Library window.

To edit a method in the library, inspect the Library window. From the Methods dialog box choose the method you want to edit, then choose OK. Paradox displays the method you chose in an Editor window.

You can also inspect the Open Library button, then either

choose Open to open a library

choose New to create a new library


Open Document Dialog Box

Use the Open Document dialog box to specify the file you want to open.To open the Open Document dialog box, choose File | Open, then choose a file type.

Dialog Box Options

File Name

Type the file name in the File Name box or select it from the list. To open a document that is not in the working directory, either

Type the file name (including the full directory path) in the File Name text box.

Use the Path list.

Choose Browse.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows the type of document you chose to open. All documents of that type in the specified path (the working directory) are shown in the Path list.

Browse

Opens the Browser, where you can choose a file in another directory.

Open Mode

Opens a document in its design window or view window. You can also send reports directly to the printer. If you're opening a script, you can open it in Design or choose Play to run it.

Open As

Opens a document as a report or as a form. This is a quick way to use a report's layout to specify the layout of a form, or vice versa.

Change Table

Opens a form or report using a different master table---a different table from the one on which it was originally designed. When you choose Change Table, Paradox opens the Select File dialog box, where you specify the new master table.

See Also

Browser

Select File dialog box


Open Table Dialog Box

Use the Open Table dialog box to specify the table you want to open.To open the Open Table dialog box, choose File | Open | Table.

Dialog Box Options

File Name

Type the table name in the File Name box or select it from the list. To open a table not in the working directory, either

Type the table name (including the full directory path) in the File Name text box.

Use the Path list.

Choose Browse.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows the type of document you chose to open, in this case Tables. All documents of that type in the currently specified path (the working directory) are shown in the Path list.

Browse

Choose Browse to see files in other directories in the Browser.

See Also

Browser

Select File dialog box


Select File Dialog Box

Use the Select File dialog box to specify a file. To open the Select File dialog box, choose File | Open |  and then choose the type of file you want to open.

Dialog Box Options

File Name

Type the path and file name in the box or select one from the list.

Path

Use the Path list to choose an alias or your private directory.

Type

Choose the file type from the drop-down list.

Browse

Choose Browse to see files in other directories in the Browser.

After you specify the path and file name, choose OK.

See Also

Aliases

Browser

Open Document dialog box


Browser

Use the Browser to select objects in other directories.

The Browser shows you a directory tree on the left and the contents of the current directory on the right. (If you're changing your working directory, the Browser will not show the contents of the directories.)

In the Browser you can specify

Aliases	An alias or a directory. The left side of the Browser reflects the contents of the alias you've chosen.

Type	The type of file you're browsing for. You see files of only this type on the right.

Note: This option is only available if you are searching for a file and not a directory.

Filters	The file extension of the type of file you're browsing for. Although the Types list gives you a certain degree of filtering, it does not distinguish between Paradox and dBASE files. In the Filters box, type *.db to see only Paradox tables, or *.dbf to see only dBASE tables.

You can also use Filters to browse by file name rather than file extension. To do this, first choose Files from the Type list. Then type the file name followed by a period and an asterisk.

Note: This option is only availbable if you are searching for a file and not a directory.

Choose Browse in a dialog box to open the Browser.

See Also

Aliases


File | Save

Use File | Save periodically to save the changes in your current Paradox file to disk.

Paradox does not prompt you for a file name, once you've named the file.

The application is written to the file you most recently specified using File | Open or File | Save As.

Note:	Save and Save As are always dimmed in a Table window. This is because

Paradox automatically saves the data you enter as soon as you leave each record.

You save a table's property changes by choosing Properties | Save Properties from the Table window.

You use File | Utilities | Copy or File | Utilities | Rename to copy or rename a table.


File | Save As

Use the Save File As dialog box to specify the file name and path where you want Paradox to save your current Paradox file to disk in a new file.

Use File | Save As to save your changed application in a new file without overwriting the original file.

The Save File As dialog box appears where you can specify file name and path.

Note:	Save and Save As are always dimmed in a Table window. This is because

Paradox automatically saves the data you enter as soon as you leave each record.

You save a table's property changes by choosing Properties | Save Properties from the Table window.

You use File | Utilities | Copy or File | Utilities | Rename to copy or rename a table.

To save a form or report, you must be in a design window (not viewing data).

See Also

Save File As dialog box

Aliases

File | Utilities | Copy

File | Utilities | Rename


Save File As Dialog Box

Use the Save File As dialog box to save a file under another name, or to save an alias. To open the Save File As dialog box, choose File | Save As. It also opens when you try to close a file or exit Paradox without saving.

Dialog Box Options

Existing File Names

Select file name from the list of Existing File Names. The existing file will be overwritten by the changed file.

New File Name

Type a new file name in the box. Or select one from the Existing File Names list and edit it. To save a file in another directory, either

Type the full path in the New File Name box.

Use Path to choose a different aliased directory.

Use Browse to choose an unaliased directory.

Path

Use the Path list to choose an alias or your private directory.

Type

Displays the type of file you're saving.

Browse

Opens the Browser so you can view a list of files in other directories.

After you specify the path and file name, choose OK to save the file.

See Also

Browser

Aliases

Select File dialog box


File | Print

Use File | Print to print a table, form, or report.

When you choose File | Print, you first see a message that the file is being prepared. Then, Paradox opens the Print File dialog box. Choose the options you want. When you click OK, Paradox prints the file.

Note:	The File | Print command is not available if you are in QBE, a folder window, or the SQL editor.

Before you print a document, use the Page Layout dialog box to specify paper size, margins, and orientation. This dialog box opens in a document design window when you choose either Form | Page | Layout or Report | Page Layout.

Note:	When you print a table, Paradox prints your preferred report. If there is no preferred report, Paradox creates a default report in a tabular format, using the table's name as a page header, and including page numbers and the current date. If your table includes very large memo fields, you might want to change to a preferred report of the single-record style.

Choose File | Printer Setup to change printer options in the Windows Printer Setup dialog box.

See Also

Printing forms

File | Print | Design

File | Print | Report

File | Print | Page

Page Layout dialog box (Forms)

Page Layout dialog box (Reports)


File | Print | Design

Use File | Print | Design to print a document design. You must be in a design window.

When you choose File | Print | Design, the Print File dialog box opens. Specify the pages you want to print, how many copies, and whether you want them collated. Since a report design is on one page, Paradox ignores the page range specification.

See Also

Print File dialog box


File | Print | Report

Use File | Print | Report to print a report.

When you choose File | Print | Report, an expanded Print File dialog box opens. Specify the pages and number of copies you want, whether you want copies collated, and how you want overflow handled.

See Also

Expanded Print File dialog box


File | Print | Page

Use File | Print | Page to print the current page of a document.

When you choose File | Print | Page, the Print File dialog box opens. Specify how many copies you want, and whether you want them collated. Since you are only printing the current page, Paradox ignores the page range specification.

See Also

Print File dialog box


File | Printer Setup

Choose File | Printer Setup to change printer options.

In the Printer Setup dialog box, choose the printer you want from the list, or click Modify Printer Setup to open the Windows Printer Setup dialog box.

In the Windows Printer Setup dialog box, you can choose Help for detailed information on this dialog box or see your Windows documentation.


Printer Setup Dialog Box

In the Printer Setup dialog box, choose the printer you want from the list, or click Modify Printer Setup to open the Windows Printer Setup dialog box.

Then you can choose a different printer, or configure an existing printer differently. Click Help to get detailed information on the Windows Printer Setup dialog box, or see your Windows documentation.


File | Utilities

Use the Utilities menu to manage your Paradox database. Its commands give you the power to control your tables, maximizing the efficiency, usability, and security of your data.

The Utilities menu contains commands that affect tables. You can add or subtract records from tables, copy, delete, rename, restructure, or sort tables, get information about a table, import data from a different file format, or export data to a different file format.

You can also copy, delete and rename other Paradox objects from the Utilities menu.

See Also

Add	Rename

Copy	Sort

Delete	Export

Empty	Info Structure

Import	Restructure

Passwords	Subtract


File | Utilities | Add

Choose File | Utilities | Add to add the records in one table to those in another without having to retype them. You can also inspect the icon of the table you want to add records from and choose Add from its menu.When you choose File | Utilities | Add, the Add dialog box opens.

Note:	The two tables must have identical structures, except that number and currency fields are interchangeable.

See Also

Adding records from another table

Add dialog box


Add Dialog Box

Use the Add dialog box to add the records in one table to those in another without having to retype them.To open the Add dialog box, choose File | Utilities | Add, or inspect the icon of the table you want to add records from and choose Add from its menu.

Dialog Box Options

File Name

Choose tables for the Add Records panel from this list of all tables in the working directory. For tables in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list. The tables you choose do not have to be in the same directory.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access other unaliased directories.

Add Records

From	Enter the name of the table that contains the records you want to add. If you open the dialog box from a table's icon, Paradox places that table's name here.

To	Enter the name of the table to receive the records. If you want to open this table after adding the records, choose View Modified Table in the Options area below.

Options

Use the Options area to add new records, update existing records, or both:

Append	Choose Append to add new records without affecting any existing records:

If the target table is keyed, Paradox adds records in their proper position in the table. Paradox places records that violate the key in the temporary Keyviol table in your private directory. (You can edit these records to conform to the key, then use Add again to place them in the table.)

If the target table is not keyed, Paradox places the added records at the end of existing records.

Update	Choose Update to update records that already exist in the table you're adding records to. Any records in the source table that do not match an existing record are not added.

When you choose Update, the records of the source table overwrite matching records in the table you're adding records to. Paradox places the records that are overwritten in the temporary Changed table in your private directory.

Note: The table you add records to must be keyed to use Update.

Append & Update	Choose Append & Update to add new records and update existing records (following the rules just stated).

Note: The table you add records to must be keyed to use Append & Update.

When you choose OK, Paradox adds records from the source table to the target table.

See Also

Aliases

Browser

Add options

Adding records from another table


Add Options

Use the Add dialog box to add the records in one table to those in another without having to retype them. To open the Add dialog box, choose File | Utilities | Add, or inspect the icon of the table you want to add records from and choose Add from its menu.

Use the Options area of the Add dialog box to tell Paradox whether to add new records, update existing records, or both.

Dialog Box Options

Append

Adds the records from the source table to the target table:

If the target table is not keyed, the records are appended at the end of existing records.

If the target table is keyed, added records that meet the key criteria are inserted in their proper sort order. Records that do not meet the key criteria are stored in the temporary Keyviol table. If you want, you can edit these records to meet the key criteria, then add them to the target table.

Update

Updates records that already exist in the table you're adding records to. Any records in the source table that do not match an existing record are not added.

When you choose Update, the records of the source table overwrite matching records in the table you're adding records to. Paradox places the records that are overwritten in the temporary Changed table in your private directory.

Note:	The table you add records to must be keyed to use Update.

Append & Update

Adds new records to a table (following the rules stated above) and updates existing records in the target table (following the rules stated above).

Note:	The table you add records to must be keyed to use Append & Update.

View Modified Table

Opens the target table after adding the records.

See Also

Adding records from another table

Add dialog box


File | Utilities | Copy

Choose File | Utilities | Copy to make a copy of a file. You can also inspect the object's icon in the Folder window or the Browser and choose Copy from its menu.

You can copy tables, forms, reports, queries, scripts, or libraries from within Paradox. When you copy a table, Paradox copies both its structure and the data contained in it.

Warning: Always use the Paradox Copy command to copy tables. Using the DOS COPY command or the Windows File Manager might not copy all related files that make up a table. For example, the contents of memo fields are stored externally to a table and are not copied by copying the .DB file. A Paradox Copy command, however, copies all files and pointers correctly.

When you choose File | Utilities | Copy, the Copy dialog box opens.

See Also

Copying objects

Copy dialog box


Copy Dialog Box

Use the Copy dialog box to copy Paradox files. You can copy tables, forms, reports, queries, scripts, or libraries from within Paradox. To open the Copy dialog box, choose File | Utilities | Copy, or inspect the object's icon in the Folder window or the Browser and choose Copy from its menu.

Note:	Do not try to copy tables using the DOS COPY command or the Windows File Manager.

Dialog Box Options

File Name

Choose file for the Copy File panel from this list of all files in the working directory. For files in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access other unaliased directories.

Copy File

If you open the dialog box from an object's icon, this area is the New File Name text box.

From	Enter the object you want to copy. (If you open the dialog box from an object's icon, this text box does not appear.)

To	Enter the name of the new object. (If you open the dialog box from an object's icon, this box is the New File Name text box.)

Options

When you copy a table, you can choose View Modified Table to see the new table after the Copy operation.

When you choose OK, Paradox copies the file.

See Also

Aliases

Browser

Copying objects


File | Utilities | Delete

Choose File | Utilities | Delete to delete a file from disk. You can also inspect the object's icon in the Folder window or the Browser and choose Delete from its menu.When you choose File | Utilities | Delete, the Delete dialog box opens.

You can delete tables, forms, reports, queries, scripts, or libraries from within Paradox.

Always use the Paradox Delete command to delete tables. Using the DOS DELETE command or the Windows File Manager might not delete all related files that make up a table.

Warning: Be careful when deleting objects! You cannot undo a deletion. Make sure the table is not used in any associated objects like forms, reports, or queries. Associated documents are not deleted when you delete the table; you must delete them yourself.

Associated documents are not deleted when the table is deleted. When you next open a document bound to a table that no longer exists, you can either

Use Change Table in the Open Document dialog box to change the master table of the document.

Redefine objects in the document that refer to that table.

See Also

Deleting objects

Delete dialog box


Delete Dialog Box

Use the Delete dialog box to delete a file from disk. You can delete tables, forms, reports, queries, scripts, or libraries from within Paradox.To open the Delete dialog box, choose File | Utilities | Delete, or inspect the object's icon in the Folder window or the Browser and choose Delete from its menu.

Warning: Be careful when deleting objects! You cannot undo a deletion. Make sure the table is not used in any associated objects like forms, reports, or queries. Associated documents are not deleted when you delete the table; you must delete them yourself.

Dialog Box Options

File Name

Choose the file you want to delete from this list of all files in the working directory. For files in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access other unaliased directories.

Delete File

Choose the object you want to delete from the File Name list, or type its name (including full path, if necessary) in the Delete File text box.

When you choose OK, Paradox displays a message asking you to confirm the deletion. Choose Yes to delete the object, or No to cancel the operation.

See Also

Aliases

Browser

Deleting objects


File | Utilities | Empty

Choose File | Utilities | Empty to remove all records from a table, leaving the table's structure (including all keys, indexes, validity checks, and so on) intact.When you choose Empty, the Empty dialog box opens.

You can also inspect the table's icon in the Folder window or the Browser and choose Empty from its menu.

To empty an open table, choose Empty from the Table menu.

See Also

Emptying tables

Empty dialog box


Empty Dialog Box

Use the Empty dialog box to remove all records from a table. To open the Empty dialog box, choose File | Utilities | Empty.

Dialog Box Options

File Name

Choose the file you want to empty from this list of all files in the working directory. For files in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access other unaliased directories.

Empty Table

Choose the table you want to empty from the File Name list, or type its name (including full path, if necessary) in the Empty Table text box. (If you open the Empty dialog box by inspecting a table's icon, Paradox enters the table's name here for you.)

When you choose OK, Paradox displays a message asking you to confirm the Empty operation. Choose Yes to remove all records from the table or No to cancel the operation.

See Also

Aliases

Browser

Emptying tables


File | Utilities | Import

Choose File | Utilities | Import to import the data from a different file format to a Paradox table. Using Import, you can transfer data easily between Paradox and other applications.

When you choose Import, you see the File Import dialog box, where you tell Paradox the file format of the imported table. Paradox supports importing data from any of the file formats shown on the list.

Note:	You do not need to import Paradox or dBASE tables.

See Also

Importing data

File Import dialog box

Spreadsheet Import dialog box

Delimited ASCII Import dialog box

Fixed Length ASCII Import dialog box


File Import Dialog Box

Use the File Import dialog box to tell Paradox the file you want to import.To open the File Import dialog box, choose File | Utilities | Import.

Dialog Box Options

File Name

Type in the name of the file you want to import. For files in other directories, enter the full path, or use the Path list or the Browse button.

Path

Choose an alias or your private directory.

Type

Choose from the drop-down list the file format from which you want to import the data. All files of that format in the working directory appear in the file list.

Browse

Open the Browser to access other unaliased directories.

When you choose OK, Paradox opens a dialog box tailored to the file type you chose. Name the file to import and specify any needed parameters.

See Also

Browser

Spreadsheet Import dialog box

Importing data


Spreadsheet Import Dialog Box

Use the Spreadsheet Import dialog box to import Paradox data from one of the supported spreadsheet formats. You select a specific block in the spreadsheet to import.

To open the Spreadsheet Import dialog box, choose File | Utilities | Import, then choose a spreadsheet file type from the list and click OK.

Dialog Box Options

File Name

Type the name of the spreadsheet that contains the data you want to import.

New TableName

Type the name of the table to which you want to import the data. Specify below if this is a Paradox or dBASE table.

From Cell

Type the first cell in the block you want to import.

To Cell

Type the last cell in the block.

Named Ranges

Rather than type the range of cells above, you can choose a named range that contains the values you want to import. Named ranges are available only if you create them in the source spreadsheet.

Get field names from first row

Check this to use the top row of the spreadsheet as column headers for the table. (If there are no column titles on the spreadsheet, uncheck this option.)

See Also

Importing spreadsheet data

Determining field types

Determining field names


Delimited ASCII Import Dialog Box

Use the Delimited ASCII Import dialog box to import Paradox data from ASCII delimited files. To open the Delimited ASCII Import dialog box, choose File | Utilities | Import, then choose a supported text format from the list.

Dialog Box Options

File Name

Type the name of the file that contains the data you want to import.

New Table Name

Type the name of the table to which you want to import the data. Specify if this is a Paradox or dBASE table.

Options

Choose Options to open the Text Options dialog box, where you specify delimiters and character set.

See Also

Importing delimited text

Text Options dialog box


Text Options Dialog Box

Use the Text Options dialog box to specify delimiters and character sets for importing or exporting delimited ASCII files.To open the Text Options dialog box, choose Options in the Delimited ASCII Import or Export dialog box.

Dialog Box Options

Fields Separated By

Specify what text characters separate the field values in the source file

Fields Delimited By

Specify what text characters surround values in the source file.

Delimited Fields

Text fields only	Choose whether to delimit only text fields with quotation marks (or the character you specify in the Fields Delimited By panel)

All fields	Choose whether to delimit all possible fields from the source file

Character Set

Choose whether to use the OEM or ANSI. character set

See Also

Importing delimited text

Exporting to delimited text

Delimited ASCII Import dialog box

Delimited ASCII Export dialog box


Fixed Length ASCII Import Dialog Box

Use the Fixed Length ASCII Import dialog box to import text from a fixed length text format.To open the Fixed Length ASCII Import dialog box, choose File | Utilities | Import, then choose a supported text format from the list.

Dialog Box Options

File Name

Type the name of the file that contains the data you want to import.

New Table Name

Type the name of the table to which you want to import the data. Specify if this is a Paradox or dBASE table.

Import Specification

Choose one of these options to specify how you want to work with the Import table:

Save	Saves the Import table settings you specify. (Although the Import table is deleted when you exit Paradox or change your private directory, Paradox saves the table's settings permanently.)

Load	Loads the settings from a previously saved Import table.

Clear	Clears the settings displayed in the Import table.

Character set

Choose whether to use the OEM or ANSI. character set

This dialog box has several panels, one of which contains a table. To move among fields in the table using the keyboard, press Tab or Shift Tab. To leave the table panel, use Super Tab (F4) or Super Back Tab (F3).

See Also

Importing fixed length text


File | Utilities | Passwords

Choose File | Utilities | Passwords to open the Enter Password(s) dialog box, where you can specify whether to use or stop using the passwords you defined for your table in the Create Table dialog box or the Restructure Table dialog box.

See Also

Enter Password(s) dialog box

Create Paradox Table dialog box

Restructure Paradox Table dialog box


Enter Password(s) Dialog Box

Use the Enter Password(s) dialog box to specify whether to use or stop using the passwords you defined for your documents in the Create Table dialog box or the Restructure Table dialog box. The Enter Password(s) dialog box is helpful for users working on a network.To open the Enter Password(s) dialog box, choose File | Utilities | Passwords.

Dialog Box Options

Password

Type the password in the Password text box. Asterisks (*) represent the characters you type.

Add

Choose Add to add this password to Paradox's memory.

If you've assigned the same password to several tables, you can use the Enter Password(s) dialog box to give Paradox the password once to access all applicable tables. Enter the password and choose Add.

Remove

Choose Remove to delete this password from Paradox's memory.

By default, if you've closed a password-protected table, you can open it again before exiting Paradox, without giving the password again. (Paradox stores the fact that you've accessed the table once and assumes you're allowed to open the table again.) Selecting Remove, however, requires you to give the password the next time you open the table.

Remove All

Choose Remove All to delete all passwords from Paradox's memory. This means any table you've opened using a password will again be protected.

Note:	Paradox releases all passwords when you exit the program. Through the Enter Password(s) dialog box, you can release a password without exiting Paradox.

See Also

Create Paradox Table dialog box

Restructure Paradox Table dialog box


File | Utilities | Rename

Choose File | Utilities | Rename to give a file a different name. You can also inspect the object's icon in the Folder window or the Browser and choose Rename from its menu. To rename an open table, choose Rename from the Table menu.

You can rename tables, forms, reports, queries, scripts, or libraries from within Paradox.

Always use the Paradox Rename utility to rename tables. Using the DOS Rename command or the Windows File Manager may not rename all related files that make up a table (for example, the files containing table's primary index, secondary indexes, validity checks, or BLOB data). The Paradox Rename utility, however, renames all files correctly.

Be careful when renaming tables. Once renamed, a table cannot be found by associated documents. Forms, reports, or queries that refer to a table under one name will not be bound to the table under its new name. The next time you open an unbound object, Paradox asks you to supply the name of the table to which you'd like it to be bound.

When you choose Rename, the Rename dialog box opens.

T

See Also

Renaming objects

Rename dialog box


Rename Dialog Box (Objects)

Use the Rename dialog box to give a file a different name. You can rename tables, forms, reports, queries, scripts, or libraries from within Paradox.To open the Rename dialog box, choose File | Utilities | Rename, or inspect the object's icon in the Folder window or the Browser and choose Rename from its menu.

Note:	Do not try to rename tables using the DOS RENAME command or the Windows File Manager.

Dialog Box Options

File Name

Choose the file you want to rename from this list of files in the working directory. For files in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access other unaliased directories.

Rename File

If you open the dialog box from an object's icon, this area is the New File Name text box.

From	Enter the name of the current object. (If you open the dialog box from an object's icon, this text box does not appear.)

To	Enter the new name for the object. (If you open the dialog box from an object's icon, this box is the New File Name text box.)

Options

When you rename a table, you can choose View Modified Table to see the new table after the Rename operation.

When you choose OK, Paradox renames the file.

See Also

Aliases

Browser

Renaming objects


File | Utilities | Sort

Choose File | Utilities | Sort to sort the data in a table.

In the Select File dialog box, choose the table to sort.To sort an open table, use the Sort command from the Table menu.

Paradox opens the Sort Table dialog box. You can sort into the same table or a different table.

See Also

Select File dialog box

Sort Table dialog box

Sorting tables


Sort Table Dialog Box

Use the Sort Table dialog box to tell Paradox how you want a table sorted. .To open the Sort Table dialog box, choose Sort from the Utilities menu, then choose a table to sort in the Select File dialog box.

Dialog Box Options

Fields

Select the fields you want to add or remove to the Sort Order list

Sorted Table

Use these options to specify how you want a table sorted:

Same Table	The sort overwrites the existing sort order of the table. A keyed table (indicated by  [image] ) can be sorted only to a new table. Otherwise, you would overwrite the primary index established by the key.

New Table	If you choose to create a new table, enter its name here.

Sort Just Selected Fields	When you check this option, Paradox sorts only on the fields in the Sort Order list. If two or more records have identical values in these fields, Paradox cannot resolve the tie and places the records together as a group, unsorted.

When you do not check this option, Paradox uses the remaining fields to resolve ties, sorting them on the remaining fields in left-to-right order.

Display Sorted Table	Check this option to see the results of the sort immediately.

Fields

Select the fields you want to remove or add to the Sort Order:

Places a selected field on the Sort Order.

Takes a selected field off the Sort Order.

You do not have to put all the fields from the Fields list in the Sort Order list. Paradox adds the rest to the end of the list before performing the sort (unless Sort Just Selected Fields is checked).

Note:	Paradox cannot sort on memo, formatted memo, OLE, binary, or graphic fields. That's why these fields are unavailable in Fields.

Change Order

To move a selected field up or down in the Sort Order, click the Up arrow  [image]  or Down arrow  [image]  below the list.

The default sort order is ascending, indicated by the 123... in front of the field name in the Sort Order. To change to descending, double-click the field name or click the Sort Direction button; 123... changes to ...321, indicating descending sort order.

Sort Direction

Click the Sort Direction button to switch between ascending and descending sort order for the selected field in the Sort Order list.

See Also

Specifying sort order

Sorting tables

Sort Answer dialog box

Sorting on a network


File | Utilities | Export

Choose File | Utilities | Export to export the data of a table to a different file format. Using Export, you can transfer data easily between Paradox and other computer applications.

Note:	You can export data only into new files, not into existing ones.

When you choose Export, the Table Export dialog box opens, where you choose your table and the file format you want to export it to. Paradox supports exporting data to any of the file formats shown on the Export File Type list in this dialog box.

See Also

Exporting data

Table Export dialog box

Spreadsheet Export dialog box

Delimited ASCII Export dialog box

Fixed Length ASCII Export dialog box


Table Export Dialog Box

Use the Table Export dialog box to tell Paradox the file you want to export and choose the format for the exported file.To open the File Export dialog box, choose File | Utilities | Export.

Dialog Box Options

Table Name

Choose the file you want to export from the list. For tables in other directories, use Path or Browse. (If you opened the dialog box from a table icon's menu, that table's name appears here automatically.)

Export File Type

Choose the type of file to which you want to export the table's data.

Path

Choose an alias or your private directory.

Browse

Open the Browser to access tables other directories.

When you choose OK, Paradox exports the file.

See Also

Browser

Spreadsheet Export dialog box

Exporting data


Spreadsheet Export Dialog Box

Use the Export to a Database dialog box to export Paradox data to one of the supported spreadsheet formats.To open the Spreadsheet Export dialog box, choose File | Utilities | Export, then choose a table and a spreadsheet format from the lists.

Dialog Box Options

Table Name

Type the name of the table that contains the data you want to export.

New File Name

Type the name of the spreadsheet you want to export the data to.

Make row headers from field names

Check this to use the table's column headers to label the corresponding rows of values in the spreadsheet.

See Also

Exporting to a spreadsheet


Delimited ASCII Export Dialog Box

Use the Delimited ASCII Export dialog box to export Paradox data to a delimited text format.To open the Delimited ASCII Export dialog box, choose File | Utilities | Export, then choose a table and a delimited text format from the list.

Dialog Box Options

Table Name

Type the name of the table that contains the data you want to export.

New File Name

Type the name of the document you want to export the data to. You can change the directory location or the name of the resulting exported text file. By default, the new file is placed in your working directory.

Options

Choose Options to open the Text Options dialog box, where you specify delimiters and a character set, determining how data is displayed in the new text file.

See Also

Exporting to delimited text

Text Options dialog box


Text Options Dialog Box

Use the Text Options dialog box to specify delimiters and character sets for importing or exporting delimited ASCII files.To open the Text Options dialog box, choose Options in the Delimited ASCII Import or Export dialog box.

Dialog Box Options

Fields Separated By

Specify what characters separate the field values in the source file

Fields Delimited By

Specify what text characters surround values in the source file.

Delimited Fields

Text fields only	Choose whether to delimit only text fields with quotation marks (or the character you specify in the Fields Delimited By panel)

All fields	Choose whether to delimit all possible fields from the source file

Character Set

Choose whether to use the OEM or ANSI. character set

See Also

Importing delimited text

Exporting to delimited text

Delimited ASCII Import dialog box

Delimited ASCII Export dialog box


Fixed Length ASCII Export Dialog Box

Use the Fixed Length ASCII dialog box to export Paradox data to a fixed-length text format. To open the Fixed Length ASCII Export dialog box, choose File | Utilities | Export, then choose a table and a fixed length text format from the list.

Dialog Box Options

Table Name

Type the name of the table that contains the data you want to export.

New File Name

Type the name of the document which you want to export the data to.

Export Specification

Choose one of these options to specify how you want to work with the Export table:

Save	Save the Export table settings you specify. (Although the Export table is deleted when you exit Paradox or change your private directory, Paradox saves the table's settings permanently.)

Load	Load the settings from a previously saved Export table.

Clear	Clear the settings displayed in the Export table.

EXPORT table

Use this table to specify the column length you want each field to have in the exported file. For each field name, enter a Start position (the column in the exported file where you want the field value to begin) and a Length (how many characters you want the field value to display).

Character set

Choose whether to use the OEM or ANSI. character set.

This dialog box has several panels, one of which contains a table. To move among fields in the table using the keyboard, press Tab or Shift Tab. To leave the table panel, use Super Tab (F4) or Super Back Tab (F3).

See Also

Exporting to fixed length text


File | Utilities | Info Structure

Choose File | Utilities | Info Structure to get information about a table's structure. In the Select File dialog box, choose a table. Paradox opens the Structure Information dialog box.

The Structure Information dialog box shows you validity checks, table lookup, secondary indexes, referential integrity, table language, and dependent tables.

Note:	Depending on the display monitor you have or the way you set colors in the Windows Control Panel, information in the Structure Information dialog box might not be visible on your screen. For example, the contents of Referential Integrity list boxes might be gray on gray, and therefore invisible. If you're missing information, adjust your screen colors using the Windows Control Panel.

You cannot change the table's structure from this dialog box. To change a table's structure, choose File | Utilities | Restructure.

If you want structure information on an open table, use the Info Structure command from the Table window.

See Also

Getting information about table structure

Restructuring a table

Validity checks

Table Lookup

Secondary indexes

Dependent Tables

Defining referential integrity rules

Specifying a table language driver


File | Utilities | Restructure

Choose File | Utilities | Restructure to change the structure of a table. In the Select File dialog box, choose the table to restructure.Paradox opens the Restructure Paradox Table dialog box, where you can change

Field names or types

Which fields are included

Key fields

Validity checks

Lookup fields

Secondary indexes

Referential integrity

Passwords

Table language character set

If you want to restructure an open table, choose Restructure from the Table menu.

Note:	Before restructuring a table, make sure no forms or reports are open that use the table in their data model. If you or any other user (in a multiuser environment) have such a document open, you will not be able to save the new structure.

See Also

Restructuring a table

Restructure Paradox Table dialog box

Select File dialog box


File | Utilities | Subtract

Choose File | Utilities | Subtract to remove from one table records that exist in another. When you choose Subtract, the Subtract dialog box opens.

You can subtract records only from a keyed table. Because dBASE does not support Paradox keys, you cannot subtract records from a dBASE table. Instead, use a DELETE query.

During a subtract operation, Paradox removes any record that contains a value in its key field that exactly matches the corresponding field of a record in the subtraction table.

See Also

Subtracting records

Subtract dialog box

Deleting records: DELETE


Subtract Dialog Box

Use the Subtract dialog box to remove from one table records that exist in another. To open the Subtract dialog box, choose File | Utilities | Subtract, or inspect a table's icon in the Folder window or the Browser and choose Subtract from its menu.

Dialog Box Options

File Name

Choose tables for the Subtract Records panel from this list of all files in the working directory. For tables in other directories, use Path or Browse.

Path

Choose an alias or your private directory from the drop-down list. The tables you choose do not have to be in the same directory.

Type

Choose the file type from the drop-down list.

Browse

Open the Browser to access tables in other directories.

Subtract Records

In	Enter the name of the table that contains the records you want to subtract. If you choose Subtract from a table's icon, Paradox places that table's name here for you.

From	Enter the name of the table you want to subtract records from.

Options

Check View Modified Table to open the table shown in the From text box after the subtraction.

When you choose OK. Paradox prompts you to confirm the deletion of records from the table you entered in the From text box. Choose Yes to subtract the records or No to cancel the operation. If you choose Yes, Paradox compares the two tables and subtracts matching records.

See Also

Subtracting records

Browser


File | Multiuser

Use the commands on the File | Multiuser menu to set preferences for your network use and to get information about other users in a multiuser environment.

Choose:	To:

Display Locks	See what locks have been placed on a table and who placed them.

Set Locks	Place a lock on a table. This displays the Table Locks dialog box. When you enter a table in the Table Name text box, you'll see what kind of lock you've placed on that table.

User Name	Display the Network User Name dialog box. This shows your network user name if you've already logged on to a network, or prompts you to enter your user name if you have not.

Who	Display the Current Users dialog box, which shows a list of all users who are using the same Paradox network installation you are. This is especially useful when you want to place a lock on an object and want to find out who might be inconvenienced.

Set Retry	Display the Network Retry Period dialog box. If you try to access a record in a table and find you're locked out of it, you can automatically retry opening it. Enter the length of time (in seconds) that you want Paradox to retry. Zero (0) seconds indicates no retry.

See Also

Display Locks

Set Locks

User Name

Who

Set Retry

Locking records

Networking Paradox


File | Multiuser | Display Locks

In a multiuser environment, choose File | Multiuser | Display Locks to find all the locks currently placed on a Paradox table, and who has placed them. (Display Locks is not available for dBASE tables.)

This is especially useful if you need to see all of the locks that must be removed from a table before you can begin a particular operation.

When you choose File | Multiuser | Display Locks, you see the Select File dialog box, where you enter the name of the table you want to know about. Paradox opens a Table window showing what locks have been placed on the table and who placed them.

This column:	Shows:

Type	What type of lock is on the table

Username	The name of the person who placed the lock

Net Session	The session number of the person who placed the lock

Our Session	1 means the lock is yours. 0 means another user placed the lock.

Record Number	Which record is locked (if the lock is a record lock, not a table lock)

Note:	The Locks table always includes a lock placed by you. Paradox automatically places this lock on the table when it checks its locks. Paradox removes this lock immediately after gathering lock information about the table. By the time you see this lock in the Locks table, it has been removed.

See Also

Select File dialog box

Table Locks dialog box

Locking records

The effects of locking from the Desktop


File | Multiuser | Set Locks

Choose File | Multiuser | Set Locks to place locks or to see what kind of lock you've already placed on a table.

File | Multiuser | Set Locks opens the Table Locks dialog box. When you enter a table in the Table Name text box, you see what level of lock you've placed on that table.

To place a lock on the table, choose the kind of lock you want. You can choose only one kind of lock at a time for each table.

Note:	There are several kinds of locks in a multiuser environment. For example, when you edit a value, you see the message "Record is now locked" in the Desktop's status bar. This prevents two users from editing the same record at the same time. This is an automatic lock; you cannot edit a value without placing it. As soon as you move off the field, Paradox automatically unlocks the record.

The locks controlled by File | Multiuser | Set Locks are different.

They lock the whole table.

They provide varying levels of strength, for levels of protection.

You must explicitly place and remove them.

To view the current locks on a table---locks that others have placed---use File | Multiuser | Display Locks.

See Also

File | Multiuser | Display Locks

Table Locks dialog box

Locking records

The effects of locking from the Desktop


Table Locks Dialog Box

Use the Table Locks dialog box to see what kind of lock you've placed on a table. To open the Table Locks dialog box, choose File | Multiuser | Set Locks from the Desktop.

Dialog Box Options

Table name

Type the table name or choose one from the list.

Path

Choose an alias or your private directory.

Type

Choose the file type from the drop down list.

Browse

Choose Browse to open the Browser and choose a file in another directory.

Locks

Paradox shows the level of lock you have placed on the table:

No Lock	You have placed no Desktop-level locks on the table. Choose No Lock to unlock a table you've locked.

Open Lock	Paradox places this lock whenever you open a table. This prevents others from putting an exclusive lock on the table before you actually start editing. They can still put a write lock on it, so you would not be able to read (view) the table.

Read Lock	You can read (view) and write to (edit) the table. All other users with sufficient rights can read---they can view data---but are locked from writing to the table.

A table can have more than one Read Lock on it at one time.

Write Lock	You can read and write to the table. All other users can view the table, but not write to it.

A table can have only one Write Lock on it at a time.

Exclusive Lock	You have read and write access to the table, and no other users have any rights of any kind. You even protect the table's name with an exclusive lock. No other user can create a table with the same name.

You can get an exclusive lock only if

No other user has placed an open, read, or write lock on the table.

No other user has any form of the table open. This includes forms, reports and queries which use the table.

See Also

Locking records

The effects of locking from the Desktop

Browser


The Effects of Locking from the Desktop

This table summarizes users' rights under different levels of locks  placed from the Desktop using File | Multiuser | Set Locks. The lock levels are arranged in order of increasing strength.

Lock level	Your rights	Other users' rights	Locks other users can place
None	None	All	All*
Open	Read, (Write if no other user has a read lock)	Read, Write	All except exclusive if no record lock in place. Otherwise only Open.
Read	Read, (Write if no other user has a read lock)	Read	Open, Read
Write	Read, Write	Read	Open
Exclusive	All	None	None
* No Lock means no Desktop-level locks are placed by you. If another type of lock is in place (a record lock or open lock), you will not be able to obtain an exclusive lock.

Paradox maintains a Desktop-level lock until you exit Paradox or remove the lock (choose No Lock).

See Also

File | Multiuser | Set Locks

Locking records


File | Multiuser | User Name

Choose File | Multiuser | User Name to display the Network User Name dialog box. This shows the network user name you used to log on to a network. If you are not attached to a network, the box displays the message "No user name available".


File | Multiuser | Who

In a multiuser environment, choose File | Multiuser | Who to see a list of users working in Paradox at the moment. You will also see a list of users working in Paradox 4.0 and Quattro Pro for Windows if you share directories with them.

This is especially useful when you want to place a lock on an object and want to find out who might be inconvenienced.

File | Multiuser | Who opens the Current Users dialog box, which shows a list of all users who are using the same Paradox network installation you are.


File | Multiuser | Set Retry

Choose File | Multiuser | Set Retry to display the Network Retry Period dialog box.

If you try to open a record in a network table and find you're locked out of it, you can automatically retry opening it. Enter the number of seconds you want Paradox to continue trying.

Tip:	If you set the retry period to 30, Paradox attempts to access the table for 30 seconds. While the attempt is being made, you're prevented from any other activity on your system. If you do not want to wait long, set a low retry period.


File | System Settings

Choose File | System Settings from the Desktop to get information about your system and environment.

Choose:	To Display:

Auto Refresh	The Network Refresh Rate dialog box, where you can set the number of seconds you want between screen refreshes. This is the length of time between updates of information on your screen, as data is being changed elsewhere in the network in tables you are currently linked to.

Blank As Zero	The Blank=Zero dialog box, where you can tell Paradox to interpret blanks in number fields as the number zero. By default, Paradox treats blanks in number fields no differently than blanks in other types of fields. Blank As Zero works on Paradox number and short field types, and on dBASE number and float number field types.

Drivers	The Current Drivers dialog box. This shows what database drivers you're connected to. You can create a table of the type of any database driver you're connected to.

ODAPI	The ODAPI Information dialog box. ODAPI stands for Object Database Application Program Interface. This dialog box gives you information about your current system, such as buffer size, language drivers, and so on. If you want to change these settings, you must exit Paradox and run ODAPICFG.EXE.

See Also

Auto Refresh

Blank As Zero

Drivers

ODAPI


File | System Settings | Auto Refresh

Choose File | System Settings | Auto Refresh to specify a time interval for screen refreshes. When you set an auto refresh rate, Paradox automatically refreshes your screen at the time interval you specify. This is useful for monitoring remote tables that might change without any action on your part, like a shared table on a network.

When you choose Auto Refresh, you see the Network Refresh Rate dialog box. Use this to set the number of seconds you want between screen refreshes. Choose 0 to turn off Auto Refresh.

The more you refresh your screen, the higher the demand you place on your network. Choose a longer time between refreshes to lighten the work load on the network.

Auto Refresh is available only for Paradox tables. However, Paradox always refreshes the display of both dBASE and Paradox tables when you begin to change a record or lock one manually, so you can be sure you're looking at the most current data as you make your changes.


File | System Settings | Blank As Zero

Choose File | System Settings | Blank As Zero to open the Blank = Zero dialog box where you can tell Paradox to interpret blanks in calculated fields as the number zero. To do this, check the box next to Treat Blank Fields As Zeros. This box is checked by default.

When Treat Blank Fields As Zeros is not checked, Paradox treats blanks in calculations in queries, forms, or reports no differently than blanks in other types of fields.

Note:	Blank As Zero works on Paradox number, currency and short field types, and on dBASE number and float number field types.


File | System Settings | Drivers

Choose File | System Settings | Drivers to display the Current Drivers dialog box. This shows what database drivers you're connected to. You can create a table of the type of any database driver you're connected to.


File | System Settings | ODAPI

Choose File | System Settings | ODAPI to display the ODAPI Information dialog box. ODAPI (Object Database Application Programming Interface) is the interface Paradox uses to access your data.

The ODAPI Information dialog box shows you information about your current system. You can only view the information in this dialog box.

Use the ODAPI Configuration Utility to change settings. Its icon is part of the Paradox Program Group. Changes will not take effect until you restart Paradox for Windows.

See Also

ODAPI Information dialog box


ODAPI Information Dialog Box

The Object Database Application Programming Interface (ODAPI) is the interface Paradox uses to access your data. ODAPI needs information about your specific environment in order to properly access and deliver your data. This information is stored in the ODAPI Configuration file.

The ODAPI Information dialog box displays information about your current system. To change any of these settings, use the ODAPI Configuration Utility. Its icon is part of the Paradox program group. Changes do not take effect until you restart Paradox for Windows.

Dialog Box Options

Network Control File Directory

Your PDOXUSRS.NET file is located here.

System Language Driver

This driver can be used as a default if the Paradox and dBASE language drivers are undefined.

Paradox Language Driver

This driver determines the sort order, capitalization, and string comparison conventions that are specific to your country's language for Paradox tables. The default for users in the United States is the Paradox ASCII driver.

dBASE Language Driver

This driver determines the sort order, capitalization, and string comparison conventions that are specific to your country's language for dBASE tables.

Buffer Size (in Kilobytes)

This buffer specifies the minimum and maximum amount of memory Paradox uses.

Local Share

When Local Share is On, you can safely share tables with non-ODAPI applications that you're running locally. If you select this option, make sure that SHARE.EXE is loaded before starting Paradox for Windows, or Paradox won't start.

When Local Share is Off, the data locks set by Local share are turned off. If you are sharing data with non-ODAPI applications, this leaves you unprotected from data corruption. This option may provide a slight performance increase in accessing local data. Local Share is off by default.


File | Working Directory

Choose File | Working Directory to change your working directory. Paradox opens the Set Working Directory dialog box.

When you change your working directory,

You see different files in dialog boxes when you use File | Open.

Your Desktop appearance reflects the configuration saved for this working directory.

If you have any open tables, forms, or reports, they close automatically. If they have been changed, you are prompted to save them.

When you specify a directory as your working directory, Paradox creates a file called PDOXWORK.INI and stores it in the directory. This file contains the last saved state of the Desktop (which windows were open and their sizes). Paradox saves changes you make to the Desktop while in your working directory whenever you change working directories or exit Paradox. If you delete PDOXWORK.INI, Paradox uses default Desktop settings.

See Also

Set Working Directory dialog box


Set Working Directory Dialog Box

Use the Set Working Directory dialog box to change your working directory.To open the Set Working Directory dialog box, choose File | Working Directory from the Desktop.

Dialog Box Options

Working Directory

Enter the location (the full path) of your working directory or Choose Browse to select another directory from the Browser.

Aliases

Choose an alias from the list if you want to change the working directory to a directory that already has an alias.

When you change your working directory,

You see different files in dialog boxes when you use File | Open.

Your Desktop appearance reflects the configuration saved for this working directory.

If you have any open tables, forms, or reports, they close automatically. If they have been changed, you are prompted to save them.

See Also

Browser


File | Private Directory

Choose File | Private Directory to open the Private Directory dialog box where you can identify a directory to use as your private directory. The directory you identify is where Paradox stores any temporary tables you create. This avoids conflicts with any other network user's temporary tables.

If you do not specify a private directory, Paradox uses the PRIVATE directory, which is installed below your system directory if you install Paradox on a local (non-network) drive. If you have no local hard disk, the network home directory on the file server should be used as the private directory. You cannot use a floppy drive as a private directory.

Note:	Your private directory must be different from any other user's private or working directory. The contents of your private directory are displayed in any Open or Save type of dialog box. You can choose :PRIV: (the alias for your private directory) from any Path list in a dialog box or the Browser.

See Also

Browser


File | Aliases

When you choose File | Aliases, Paradox opens the Alias Manager dialog box. Use this dialog box to view, change, or add aliases.

Creating aliases lets you give logical names to directories and is strongly encouraged, since it frees you from absolute path names, making your files more portable.

See Also

Alias Manager dialog box

Creating a new alias


Alias Manager Dialog Box

Use the Alias Manager dialog box to create or modify aliases for local or network directories.To open the Alias Manager dialog box, choose File | Aliases.

Creating aliases lets you give logical names to directories and is strongly encouraged, since it frees you from absolute path names, making your files more portable.

Dialog Box Options

Database Alias

After clicking New, type the name (alias) you want to give the directory or choose an alias from the list.

Driver Type

Choose the driver you want. The Driver Type list shows all the drivers you are connected to. If you want to create a database of Paradox and/or dBASE tables, choose STANDARD.

Path

Type the full path of the directory location, including the drive letter.

New

Choose New to open an empty box where you can type in a new alias. After you click New, the button becomes the Keep New button.

Keep New

Choose Keep New if you want this to be a temporary alias, existing only until you exit. Then click OK or Cancel to close the Alias Manager dialog box.

Note:	Keep New does not close the dialog box. It lets you do a temporary save which does not take effect until you click OK. If you click Cancel, whatever you put in Keep New is cancelled out.

Choose Keep New if you are creating several aliases and do not want to open this dialog box to create each one.

Remove

Choose Remove to tag the selected alias for removal. The alias is removed when you exit the box without specifying the removed name again or when you do a Save As and overwrite the current file containing the alias.

Save As

Choose Save As if you want this alias to be permanent---usable any time you use Paradox. You'll see the Save File As dialog box. By default, Paradox stores saved aliases in ODAPI.CFG.

Note:	The message, "File already exists. Overwrite?", appears when you click Save As and choose a file name. Choose Yes. Paradox appends the aliases to the file; it does not replace the ones already there.

OK

Choose OK if you want to save any changes you've made in the dialog box, but only for the current Paradox session. All Windows applications currently running are affected by any changes.

Cancel

Cancels only the changes in type-in boxes. Any changes you made with Save As remain.

See Also

Creating a new alias

Modifying an alias

Aliases


File | Exit

Choose File | Exit to leave Paradox and close the application.

If you have a window open that has not been saved, Paradox displays a dialog box asking if you want to save it. Choose

Yes	To save the file. Paradox opens the Save File As dialog box if you have not yet named and saved the file.

No	To abandon the file and leave without saving it.

Cancel	To close the dialog box and go back to what you were doing in Paradox.


Edit menu

Edit | Undo

Edit | Cut

Edit | Copy

Edit | Paste

Edit | Paste Link

Edit | Delete

Edit | Copy To

Edit | Paste From

Edit | Search

Edit | Select All


Edit | Undo

Shortcut key Alt+Backspace

In Table and Form windows

Choose Edit | Undo to undo all changes to all fields in the current record and unlock the current record. If the current record has not been changed, Edit | Undo does nothing. Because Paradox updates data as soon as you move off a record, you must use Undo before you leave the record.

To discard changes to a single field, press Esc before you leave the field. Paradox restores the original contents of the field.

Caution: You cannot use Edit | Undo to retrieve a record you've deleted. Once you delete a record in a Paradox table, there is no way to get it back except to enter it again.

In Query windows

Choose Edit | Undo to undo your last operation, such as placing a check mark or example element.

In design windows

Choose Edit | Undo to undo the last operation (such as a move, delete, resize, align, or changed property).

Some operations cannot be undone using Undo

Clipboard actions like cut, copy, and paste

Object creation

Move to front and send to back

Duplicate

Group and ungroup

You can undo these easily by hand.


Edit | Cut

Choose Edit | Cut to remove selected text or objects and place them in the Clipboard.

You can then use the Paste button or choose Edit | Paste to paste the contents of the Clipboard into another file or somewhere else in the same file.

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

To delete a selection without affecting the Clipboard contents, press Del or choose Edit | Delete.

Shortcut key Shift+Del

In a form or report

You can cut any object that can be deleted. You can also cut multiple objects if they are all in the same container and can all be deleted.

Select the object or objects, then choose Edit | Cut, press Shift+Del, or use the Cut SpeedBar button.

If you cut a report band, you do not cut the band itself, but all of its contents.

In forms, only undefined fields can be cut when you're in the Form window. To use Edit | Cut on other fields, you must be in Edit mode.

In queries

Use Edit | Cut on example elements.

In tables

Edit | Cut is available only in Edit mode.

See Also

Edit | Paste


Cut Button

Clicking the Cut button on the SpeedBar is the same as choosing Edit | Cut from the menu. The Cut button removes selected text or objects and places them in the Clipboard.

You can then use the Paste button or choose Edit | Paste to paste the contents of the Clipboard into another file or somewhere else in the same file.

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

To delete a selection without affecting the Clipboard contents, press Del or choose Edit | Delete.

Shortcut key Shift+Del

In a form or report

You can cut any object that can be deleted. You can also cut multiple objects if they are all in the same container and can all be deleted.

If you cut a report band, you do not cut the band itself, but all of its contents.

Select the object or objects, then choose Edit | Cut, press Shift+Del, or use the Cut SpeedBar button.

In forms, only undefined fields can be cut when you're in the Form window. To use the Cut button on other fields, you must be in Edit mode.

In queries

Use the Cut button on example elements.

In tables

The Cut button is available only in Edit mode.


Edit | Copy

Choose Edit | Copy to copy the selected text or objects into the Clipboard but not delete anything from your document or query.

To paste the contents of the Clipboard into your document, use either

Edit | Paste

Shift+Ins

Paste button

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

Shortcut key Ctrl+Ins

In a form or report

You can copy any object. You can also copy multiple objects if they are all in the same container.

If you copy a report band, you do not copy the band itself, but all of its contents.

Select the object or objects, then choose Edit | Copy, or use the Copy SpeedBar button.

In forms, only undefined fields can be copied when you're in the Form window. To use Edit | Copy on other fields, you must be in Edit mode.

In queries

Use Edit | Copy on example elements.

In tables

Edit | Copy is available only in Edit mode.

See Also

Edit | Paste

Using Edit | Copy in tables


Copy Button

Clicking the Copy button on the SpeedBar is the same as choosing Edit | Copy from the menu.

Choose the Copy button to copy the selected text or objects into the Clipboard but not delete anything from your document or query.

To paste the contents of the Clipboard into your document, use either

Edit | Paste

Shift+Ins

Paste button

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

Shortcut key Ctrl+Ins

In a form or report

You can copy any object. You can also copy multiple objects if they are all in the same container.

If you copy a report band, you do not copy the band itself, but all of its contents.

Select the object or objects, then choose Edit | Copy, or use the Copy SpeedBar button.

In forms, only undefined fields can be copied when you're in the Form window. To use the Copy button on other fields, you must be in Edit mode.

In queries

Use the Copy button on example elements.

In tables

The Copy button is available only in Edit mode.

See Also

Edit | Paste

Using Edit | Copy in tables


Edit | Paste

Choose Edit | Paste to insert information previously put into the Clipboard by Edit | Cut, Edit | Copy, or other applications.

The effects of Edit | Paste depend on which window is active and whether you are designing or viewing data.

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

Shortcut key Shift+Ins

In Table and Form windows

When in Field View, choose Edit | Paste to

Insert the contents of the Clipboard into a field at the insertion point.

Replace the selected contents of the current field with the contents of the Clipboard.

In queries

Choose Edit | Paste to insert the contents of the Clipboard into a query.

In design windows

To copy objects from the Clipboard to a document, click where you want Paradox to put the upper left corner of the object, then either click the Paste button, press Shift+Ins, or choose Edit | Paste.

If an object on the document is selected, the Clipboard object is pasted into the selected object. This does not work if

The data relationships between the selected object and the Clipboard are not compatible.

The Clipboard objects take up too much space and will not fit.

The selected object cannot contain the type of object currently on the Clipboard.

When the Clipboard contains text, choose Edit | Paste to

Replace the contents of a selected text object (with handles).

Replace the selected text object that is active (no handles).

Insert the contents at the insertion point in an active text object (no handles).

When the Clipboard contains a graphic, choose Edit | Paste to replace the contents of a selected graphic.

When the Clipboard contains an OLE object, choose Edit | Paste to replace the contents of a selected OLE object.

When the Clipboard contains a page you've cut or copied from a form, choose Edit | Paste to place its contents before the selected page.

Note:	Objects bring their table references with them, and merge them into your document's data model. Objects that cannot be used in the document, such as buttons or crosstabs in a report, are deleted after pasting.


 Paste Button

Clicking the Paste button on the SpeedBar is the same as choosing Edit | Paste from the menu.

The effects of the Paste button depend on which window is active and whether you are designing or viewing data.

The contents of the Clipboard are not deleted when you paste, so you can paste as many times as you want.

Shortcut key Shift+Ins

In Table and Form windows

When in Field View, choose the Paste button to

Insert the contents of the Clipboard into the field at the insertion point.

Replace the selected contents of the current field with the contents of the Clipboard.

In queries

Choose the Paste button to insert the contents of the Clipboard into a query.

In design windows

When the Clipboard contains text, choose the Paste button to

Replace the contents of a selected text object (with handles).

Replace the selected text object that is active (no handles).

Insert the contents at the insertion point in an active text object (no handles).

When the Clipboard contains one or more Paradox objects, choose the Paste button to place the contents inside the selected object in a container relationship. This does not work if

The data relationships between the selected object and the Clipboard objects are not compatible.

The Clipboard objects take up too much space and will not fit.

The selected object cannot contain the type of objects currently on the Clipboard.

When the Clipboard contains a graphic, choose the Paste button to replace the contents of a selected graphic.

When the Clipboard contains an OLE object, choose the Paste button to replace the contents of a selected OLE object.

When the Clipboard contains a page object, choose the Paste button to place its contents before the selected page.

Note:	Objects bring their table references with them, and merge them into your document's data model. Objects that cannot be used in the document, such as buttons or crosstabs in a report, are deleted after pasting.


Edit | Paste Link

Choose Edit | Paste Link when you want a linked duplicate of data entered through Dynamic Data Exchange (DDE), so that any change you make to the source is automatically made to the duplicate.

Paste Link is available for linking data through DDE into a query or into a large alphanumeric field in a table.

To create the link for a query

1.	Highlight the item in the server, then copy it to the Clipboard. Most servers use Edit | Copy to place a copy of the object on the Clipboard.

2.	Return to the client (Paradox) Query window.

3.	Select the QBE field to receive its value from the server.

4.	Choose Edit | Paste Link from the menu. The DDE link information appears in the query.

5.	Choose Query | Wait for DDE to tell Paradox to execute the query each time data is sent from the server.

See Also

DDE


Edit | Delete

Choose Edit | Delete to delete the selected text or object.

In this window	Edit | Delete removes the selected

Table or Form	Value in the current field(s).

Script or Library	Text.

Query	Example element or query statement for a field.

Design	Object.

Note:	When you delete an object, all objects contained by it are deleted also. If a text object is active in a design window, Delete removes the selected text.

Shortcut key Del

See Also

Select Fields dialog box


Edit | Copy To

Choose Edit | Copy To to copy binary, memo, formatted memo, and graphic values to non-Paradox files, without using the Export command.

In this window	You can copy to a file

Design	A field object, graphic object, text object, or part of the text in a text object.

Form	Any field (including graphic). In Field View or Memo View, you can copy selected text inside the field.

Table	A graphic field or a binary field. In Field View on a memo or formatted memo field, you can copy selected text.

To copy a field's value to an external file

1.	Select the field you want.

2.	Choose Edit | Copy To. Paradox opens the Copy to File dialog box (or the Copy to Graphic File dialog box if you're copying a graphic object or field).

3.	Enter the file name (including full path if necessary) and extension in the New File Name dialog box.

4.	Choose OK. Paradox creates a new file with the name you've specified and places the contents of the selected field in it.

See Also

Copy To File dialog box

Copy to Graphic File dialog box

Edit | Paste From


Copy To File Dialog Box
Copy To File

Use the Copy to File dialog box to copy values in a table's memo or formatted memo fields to non-Paradox files.

In a form, you can also copy values from any field that contains text, numbers, or dates; you cannot copy binary or OLE data. Use the Copy To Graphic dialog box to copy graphics.

File Name	Type in the name and extension of the file you want to copy from. (Include full path if necessary.) For files in other directories, use Path or Browse.

New File Name	Type the name of the file you want to copy to.

Path	Choose an alias or your private directory.

Type	Paradox displays the word <Text>, indicating you can copy text values to .PXT, .TXT, or .RTF files. The extension shows the format used to copy the text.

Browse	Open the Browser to access other unaliased directories.

To open the Copy to File dialog box, choose Edit | Copy To.

See Also

Edit | Copy To

Copy to Graphic File dialog box

Paste from File dialog box

Browser


Copy to Graphic File Dialog Box

Use the Copy to Graphic File Dialog Box to copy values in graphic objects or fields to non-Paradox files. To open the Copy to Graphic File dialog box, select a graphic object or field and choose Edit | Copy To.

Dialog Box Options

Existing File Name

Type the name and extension of the file you want to copy from (include full path if necessary). For files in other directories, use Path or Browse.

New File Name

Type the name of the file you want to copy to.

Path

Choose an alias or your private directory.

Type

Paradox displays the word <Bitmaps>, showing you can copy graphic values to .BMP files.The extension indicates the format used to copy the graphic.

Browse

Open the Browser to access other unaliased directories.

See Also

Edit | Copy To

Paste from Graphic File

Browser


Edit | Paste From

Choose Edit | Paste From to paste a value from an external file into a selected Paradox field or object. You can paste from .TXT, .BMP, .PCX, .TIF, .GIF, and .EPS files.

In this window	You can paste files into

Design	Graphic or text objects, or at the insertion point in a text object.

Form	Any field (you must be in Edit mode unless the field is undefined).

Table	Memo or formatted memo fields (you must be in Edit mode and in Field View) or graphic fields (you must be in Edit mode).

To paste a value from an external file in a Paradox field

1.	Select the Paradox field you want to paste into.

2.	Choose Edit | Paste From. Paradox opens the Paste From File dialog box (or the Paste From Graphic File dialog box if you're pasting into a graphic object or field).

3.	Enter the file name (including full path if necessary) and extension in the File Name box.

4.	Choose OK. Paradox places the contents of the file in the selected field.

See Also

Paste From File dialog box

Paste from Graphic File dialog box

Edit | Copy To


Paste From File Dialog Box

Use the Paste From File dialog box to paste a value from an external file into a selected Paradox field or object.To open the Paste from File dialog box, choose Edit | Paste From.

Dialog Box Options

File Name

Enter the file name (including full path if necessary) and extension.

Path

Choose an alias or your private directory.

Type

Paradox displays the word <Text> showing you can paste text values from .PXT, .TXT, or .RTF files. The extension indicates the file format.

Browse

Open the Browser to access other unaliased directories.

See Also

Edit | Paste From

Paste from Graphic File dialog box

Copy To File dialog box

Browser


Paste From Graphic File Dialog Box

Use the Paste From Graphic File dialog box to paste a value from an external file into a selected Paradox graphic field or graphic object. To open the Paste from Graphic File dialog box, select a graphic field and choose Edit | Paste From.

Dialog Box Options

File Name

Type in the file name (including full path if necessary) and extension.

Path

Choose an alias or your private directory.

Type

Paradox displays the word <Graphics> showing you can paste graphic values from .BMP, .PCX, .TIF, .GIF, and .EPS files.

Browse

Open the Browser to access other unaliased directories.

See Also

Edit | Paste From

Copy to Graphic File dialog box

Browser


Edit | Search Text

Choose Search Text to search for a text string (a word or phrase) in a selected memo or formatted memo field, or in a text object.

In this window	You can

Design	Search and replace in a text object.

Form	Search in any field except graphic, OLE, or binary. To replace, you must be in Edit mode unless the field is undefined.

Table	Search in memo or formatted memo fields. To replace, you must be in Edit mode.

See Also

Search & Replace dialog box

Using Search & Replace


Edit | Select All

In Table windows

Choose Select All to select all fields of a table (the entire table). Paradox places a box around the table.

In Form windows

Choose Select All to select the entire field (when in Field View).

In design windows

Choose Select All to select all the objects within the currently selected object(s).

If no object is selected, Select All selects all top-level design objects.

If one or more objects are selected, Select All selects all objects contained by the selected objects. If selected objects do not contain other objects, nothing is selected.


Properties | Desktop

Use the Properties | Desktop dialog box to change the way your Desktop looks. To open the Properties | Desktop dialog box, choose Desktop from the Properties menu.

Dialog Box Options

Title

Type the title you want to appear on the Desktop title bar.

Background Bitmap

Type the name of a bitmap file or choose Find to select one from a list. Choose Center Bitmap to display the bitmap in the center of the Desktop, or choose Tile Bitmap to repeat the bitmap until it fills the Desktop.

Find

Choose Find to open the Select File dialog box, where you can choose another bitmap file for the Desktop's background..

SpeedBar

Check Floating to move the SpeedBar from its original position, then choose a 1 or 2 column/row format. To return the floating SpeedBar to its original position, choose Fix from its Control menu.

ObjectPAL Level

Choose the skill level you want when working with ObjectPAL:

Beginner	This level presents the most basic ObjectPAL methods, types, and constants. This subset of ObjectPAL is powerful enough to build full-featured applications, yet small enough to learn in a short time.

Advanced 	This level gives you more methods and procedures to use when you attach code to objects in forms and reports.

Note:	ObjectPAL code executes the same, regardless of the ObjectPAL level setting, so application developed with an Advanced level will run on a system with the level set to Beginner.

Paradox saves the changes you make to the Desktop in your PDOXWIN.INI file.


Window menu

Window | Tile

Window | Cascade

Window | Arrange Icons

Window | Close All


Window | Tile

Choose Window | Tile to fit all open windows on the Desktop without overlapping.

The titles of all open windows appear on the Windows menu. Click a title to activate its window.

See Also

Window | Cascade


Window | Cascade

Choose Window | Cascade to overlap all open windows on the Desktop so only the title bars of inactive windows show.

The titles of all open windows appear on the Windows menu. When you choose a title to activate the window, it moves to the top of the stack.

See Also

Window | Tile


Window | Arrange Icons

Choose Window | Arrange Icons to reorder the arrangement of icons on the Desktop.

Windows arranges the icons across the bottom of the Desktop in a straight line, maintaining the same order it found them in, left to right.


Window | Close All

Choose Window | Close All to close all open windows on the Desktop. Paradox prompts you to save any changes before closing each window.

The titles of all open windows appear on the Windows menu. Click a title to activate its window.


The Paradox Help system

Help system

Help windows

Jumps

Full jumps

Reminder jumps

Pop-up lists

Pop-up definitions


Help

The Help menu is one way of using Paradox's Help system. You can also choose any Help button or press F1 at any time to open the Help system.

When you use the Help menu, you use the menu commands to choose the subject you want help on.

When you choose Help button from a dialog box, you get help on using that dialog box.

When you press F1 with a menu command highlighted, Paradox assumes you want help with that command and selects a Help topic accordingly. This type of help is called context sensitive; the context in which you ask for help determines the help provided. In a chain of menu commands, you must highlight the last one to get help.

For more information on using Help, press F1 in any active Help window. To get back to Paradox Help, use the Help window History button.

See Also

Help system

Help windows

Jumps


Run Button

Click the Run button to initiate the following sequence of events:

1.	If the method has changed, a dialog box asks if you want to save it. If you click 'Yes,' the code is saved to memory.

2.	All methods for the entire form, script, or library are then compiled.

If a compile error is found, an editor windows pops up, and the error message is displayed on the status line of that editor.

If there are no errors, the form switches to View Data mode, and you send events to objects to run your methods.

Save changes, and switch from the Form Design window to the Form window. If execution is suspended at a breakpoint, Debug | Run resumes from the breakpoint.


Check Syntax Button

Click the Check Syntax button to compile all methods in the form (not just the current Editor window). If syntax errors are found, a window opens for the corresponding method with the insertion point positioned near the error, and an error message appears in the status bar.

Note:	If you change the code in more than one Editor window, save the changes before you check the syntax. Otherwise, the syntax checker may report unexpected errors because it's not checking the latest code.


Set Breakpoint Button

Click the Set Breakpoint button to set breakpoints in a method to halt execution at specified lines. You can set as many breakpoints as your system memory allows.

When you click the Set Breakpoint button, the Set Breakpoint dialog box opens.

This is the same as choosing Debug | Set Breakpoint.


Methods Dialog Button

Click the Methods Dialog button to open the Methods dialog box where you can select from the Built-in or Custom methods lists. You can also define a new custom method or open and Editor window to declare uses, types, constants, variable, or procedures.

This is the same as choosing Language | Methods.


Step Over Button

Click the Step Over button to single-step through a method, treating procedures and custom methods as single steps. This function is available only when execution is suspended at a breakpoint.

This is the same as choosing Debug | Step Over.


Step IntoButton

Click the Step Into button to single-step through every line in a method, and every line in the procedures and custom methods the method calls. This function is available only when execution stops at a breakpoint.

This is the same as choosing Debug | Step Into.


Inspect Button

Click the Inspect button to display and change (optional) the value of a variable. This is available only when execution stops at a breakpoint.

This is the same as choosing Debug | Inspect.


Save and Exit Button

Click the Save Source and Exit button to save the code and close the Editor window. The design window stays open.


ObjectPAL Object Tree Button

Click the Object Tree button on the SpeedBar to see the object tree quickly. Paradox displays this diagram in a separate window.

A Paradox object tree shows you a schematic diagram of the objects in your form and their relations to one another. The diagram shows the object hierarchy, with the currently selected object at the far left, and the tree showing the container hierarchy extending to the right.

When you place an object in a form, Paradox gives it a default name that begins with a pound sign (#). The object tree shows objects you have placed and named, and objects you have placed but have not named. If you have written methods for an object, its name is underlined and marked with an asterisk. You can inspect an object and choose Methods to display its Methods dialog box.

Using the object tree, you can attach and edit methods for a form just as you can for a button.


Tasks Common to All Windows

You perform many tasks the same way in all windows. You create each type of document in a specialized design window. The SpeedBar and most menu commands are similar in all design windows.

Click on a topic below to see more information.

Designing documents

Design tools

Design tasks

Form Design SpeedBar

Report Design SpeedBar

Multi-table documents

Creating a graph

Using crosstabs and graphs

Exchanging data


Designing Documents

To design a form or report,

1.	Choose File | New from the Desktop.

2.	Choose the type of document you want.

3.	Specify in the Data Model dialog box the tables you want to use and their relationship to each other. (If you miss a table at this point, you can always go back and change the model later.)

4.	Specify an initial layout in either the Single Table Design Layout dialog box or the Multi-Table Design Layout dialog box. Specify page parameters in the Page Layout dialog box.

You create each type of design document in a specialized design window. The SpeedBar and most menu commands are similar in all design windows.

See Also

Opening a design document

Creating a new design document

The SpeedBar

Design tools

Design tasks

Multi-table documents

Using crosstabs and graphs


Opening a Design Document

To open an existing design document from the Desktop, you can either

Click the Open Form or Open Report button on the SpeedBar.

Choose File | Open, then choose the type of document you want.

In the Open Document dialog box, select the file you want. You can choose to open a design window to modify the document, or to open a view window to view it onscreen. In the case of a report, you also have the option of sending your document directly to the printer.

Tip:	Another quick way to open documents is to keep their icons in a folder. Then you can inspect the icon and choose View or View Data to open the document.

See Also

Creating a new design document

The SpeedBar

Design tools

Design tasks

Open Document dialog box

Folders


Design Button

Use the Design button when you want to change the design of a form or report you're viewing. Clicking this button is the same as choosing Design from the Form or Report menus.

When you click Design, Paradox displays your form or report in a Design window, where you can adjust the design or look at the data model.

See Also

Creating a new design document

The SpeedBar

Design tools

Design tasks


Creating a New Design Document

To create a new design document,

1.	Choose File | New.

2.	Choose the type of document you want.

3.	In the Data Model dialog box, choose the tables you want to use in your design, and specify their relationship. If you do not want to choose any tables at all at this point, choose OK. You can always revise the data model later.

4.	After you've chosen tables in the Data Model dialog box, choose OK to open the Design Layout dialog box. Here you create a starting point to your design. You can specify the way major data objects appear on the document. Later, in the design window, you can move them around, resize them, and give them the properties you want. See Data Model dialog box for details.

5.	Choose Select Fields in the Design Layout dialog box to open the Select Fields dialog box. Here, you choose those fields you want displayed in the design. Then choose OK to go back to the Design Layout dialog box.

6.	Choose Page Layout in the Design Layout dialog box to open the Page Layout dialog box. Here, you specify page size and tell Paradox whether you're designing the document to be printed or displayed onscreen. Then choose OK to go back to the Design Layout dialog box.

7.	Finally, when you click OK in the Design Layout dialog box, Paradox opens the design window where you can complete the details of your design.

See Also

Designing a document from a query

Data Model dialog box

Design tools


Designing a Document From a Query

You can build a design document directly from a query object instead of its Answer table.

In the Data Model dialog box, click the Type drop-down arrow to see two choices: Tables and Queries. Choose Queries to create a design document using the fields from a saved query. This means that, instead of running a query and building a design from the resulting Answer table, you can create the design based on the query itself. When you run a form or report based on a query, Paradox runs the query, then displays or prints the document.

See Also

Queries

Data Model dialog box


Changing the Name of an Object

To change the name of any object on a design document, inspect the object to see its menu, then choose the object's title from this menu. The Object Name dialog box opens.

Type the new name for the object in the text box, then choose OK. Object names can be 32 characters long and cannot contain spaces.

Not all objects can be renamed. For example, the names of parts of a table in a window cannot be changed. If the object cannot be renamed, nothing happens when you choose the name from the object's menu.

Why name objects?

The name of a selected object appears on the status bar. Naming objects can help you tell which object is selected in a complicated design.

In a form, all design objects can have ObjectPAL methods attached to them. ObjectPAL refers to objects by name.

In a report, you can use object names in defining calculated fields.

See Also

Opening a design document

Creating a new design document

The SpeedBar

Design tools

Design tasks

Multi-table documents


Design Tools

Paradox gives you a set of design tools on the SpeedBar in a design window. To use a design tool, click it, then drag to place the object on your design. Once the object is placed, you can inspect it to further specify its properties.

The name of each tool appears on the status line when you point to it.

Click a tool below for more information on it.

The Form Design SpeedBar

The Report Design SpeedBar

Note:	You must use the mouse to place objects in your designs. There is no keyboard equivalent to using the SpeedBar's design tools.

See Also

Opening a design document

Creating a new design document

Design tasks


Selection Arrow

Use the Selection Arrow to select objects for moving, resizing, and editing, or for otherwise manipulating objects in a Paradox design window.

When you select an object on a design, handles appear around it. When you pass the pointer over a handle, the pointer changes shape to show the direction of movement possible. Drag the handles to change an object's size or shape.

Some objects cannot be resized using the handles, but still show the handles to indicate they are selected.

Multiple selection

When you select more than one object, you can move them all or change their properties all at once. You can select multiple objects in different ways, depending on their positions and your needs.

For isolated objects, use Shift-click: Hold down Shift while clicking the objects. Deselect objects the same way.

For objects that are close together, use Shift-drag: Hold down Shift while you drag the mouse diagonally to create a box around the objects; when you release the mouse button, the objects you enclosed are selected.

To select everything in the window, choose Edit | Select All. Or, if an object is already selected, choose Edit | Select All to select all objects contained in it.

Selection Arrow properties

The Selection Arrow has no modifiable properties.


Box Tool

Use the Box tool to create boxes of any size or shape on a design document.

To create a box,

1.	Choose the Box tool.

2.	Drag diagonally to define the box.

Box properties

Inspect a selected box to display its menu. For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Color	Display the standard Paradox Color palette. Use it here to change the color of a box's background.

Pattern	Display the Pattern menu where you have two options:

Color:  Displays the standard Paradox Color palette. Use it here to change the color of the pattern.

Style:  Displays a variety of patterns to fill a box.

Frame	Displays the Frame menu. Use it to choose the style, color, and thickness of a box's border.

Note: If a frame in this list is too thick to accommodate all objects containedidh_glos_embed in the box, you cannot set the Frame Style or Thickness.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window.

Pin Horizontal:  Prevents left and right movement.

Pin Vertical:  Prevents up and down movement.

Contain Object:  Specifies that any objects in the box are contained by it. Contained objects move when their container is moved and are deleted when their container is deleted.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu, which determines how objects behave when displaying data. This menu differs, depending on the type of document. For help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Changing the name of an object

Color palette


Line Tool

Use the Line tool to draw horizontal, vertical, and diagonal lines on a design document.

To create a line,

1.	Choose the Line tool.

2.	Drag in the design area to draw the line. Handles appear at each end of the line when you release the mouse. To change the line, drag on its handles.

Line properties

Inspect a selected line to display its menu. For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Color	Display the standard Paradox Color palette. Use it here to change the color of the line.

Line Style	Display line styles to choose from.

Line Type	Select either a straight or curved line.

Line Ends	Display the Line Ends menu, where you can choose not to have an arrow, or to have an arrow on one or both ends of your line. Arrows are unavailable for curved lines.

Thickness	Display the Line Thickness sampler.

Design	Display the Design menu. Use these options to determine how objects behave in a design window.

Pin Horizontal:  prevents left and right movement

Pin Vertical: prevents up and down movement.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still inspect the object.

Run Time	Display the Run Time menu. This menu differs, depending on the type of document you are in. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Changing the name of an object

Color palette


Ellipse Tool

Use the Ellipse tool to draw circles and ellipses on a design document.

To create an ellipse,

1.	Choose the Ellipse tool.

2.	Drag diagonally until the ellipse is the size and shape you want. When you release the mouse, a ruling box with handles appears around the ellipse. Use these handles to change the shape of the ellipse.

Ellipse properties

Inspect a selected ellipse to display its menu. For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Color	Display the standard Paradox Color palette. Colors chosen are applied to the area inside the ellipse.

Line	Display the Line menu. Use it to choose the style, color, and thickness of an ellipse's border.

Pattern	Display the Pattern menu where you have two options:

Color:  Displays the standard Paradox Color palette. Use it here to change the color of the pattern.

Style:  Displays a variety of patterns to fill an ellipse.

Design	Display the Design menu. Use these options to determine how objects behave in a design window.

Pin Horizontal: Prevents left and right movement

Pin Vertical:  Prevents up and down movement.

Contain Objects:  Makes any objects inside the ellipse become contained,  Contained objects move when their container is moved and are deleted when their container is deleted.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs, depending on the type of document. For help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Changing the name of an object

 Color palette


Text Tool

Paradox treats text as a design element much like any other design element. Use the Text tool to place text in the design. You create text inside a frame.

Text objects in a Paradox design document behave differently, depending on how you create them.

To create:	Do this:

Fixed Size	Click the Text tool, then drag to place a frame in the design area. As you type, Paradox automatically wraps the text at the right border of the frame. When you reach the bottom of the frame, Paradox scrolls the text upward so you can view the text you're entering.

Fit Text	Click the Text tool, then click in the design area and begin typing. Paradox creates a single-row text object that expands to the right until you press Enter, moving the insertion point to a new line. As you continue typing, the text wraps automatically at the right border that you defined by pressing Enter. The text expands downward until you finish typing. The text object shrinks in height if you remove text. Otherwise, the text object grows and shrinks horizontally with the text.

Note: If you try to resize this type of text object with Word Wrap on, you can resize it only horizontally. If Word Wrap is off, you cannot resize the text object at all. Inspect the object and choose Design Sizing | Fixed Size before resizing it.

Grow Only	Click the Text tool, then click in the design area and begin typing. Paradox creates a single-row text object that expands to the right until you press Enter, moving the insertion point to a new line. As you continue typing, the text wraps automatically at the right border that you defined by pressing Enter. The text expands downward until you finish typing. Unlike Fit Text, the Grow Only text object never shrinks unless you manually resize it.

Note:	You can always change the type of text object you have by inspecting it and choosing Design Sizing.

See Also

Changing text object type


Changing Text Object Type

You can change the text object type using the Object Inspector:

1.	Inspect the text object to see its menu.

2.	Choose Design Sizing to see a list of text object types.

3.	Choose a text object type:

Fixed Size: Automatically wraps the text at the right border of the frame.

Fit Text:  Creates a single-row text object that expands to the right until you press Enter, moving the insertion point to a new line. As you continue typing, the text wraps automatically at the right border that you defined by pressing Enter.

Grow Only:  Works like Fit Text, except a Grow Only text object does not shrink when you remove text (unless you manually resize it using the handles).

Resizing text objects

You cannot resize a text object horizontally if Fit Text is checked and Word Wrap is unchecked. You cannot resize a text object vertically if Fit Text is checked.

See Also

Editing text

Changing text properties

Changing the name of an object

Text tool


Editing Text

Select the text object with the [image] Selection Arrow, then click again to place the insertion point. If you prefer to use the keyboard, press F2 or Tab to select the text object and Spacebar to position the insertion point. The handles disappear to show that the text object is ready for editing. Edit as you would any text.

To finish editing, either

Press Esc.

Click outside the text object.

Choose another tool from the SpeedBar.

Note:	If your text object is a Fit Text type and contains no text, Paradox deletes the text object from your design when you finish editing.

To remove all text in a text object, click it with the Selection Arrow. The text object and its handles appear. Press Del or choose Cut or Delete from the Edit menu. Paradox removes the text object with its contents.

See Also

Selection Arrow

Using Search & Replace

Changing text properties

The SpeedBar


Changing Text Properties

You can change the properties of all the text in a text object by inspecting the object as a whole.

If you inspect a text object while you're editing text, the properties you change affect the next text you type.

To inspect the whole text object,

If you're editing, just press Esc.

Otherwise, select the text object by a single click. When the handles appear, right-click to inspect the text object.

If you just want to change the properties of a word or two, highlight the text you want and then inspect. Paradox alters the highlighted text.

For help on each property, select it with the arrow keys, then press F1.

See Also

Selection Arrow

Font palette


Graphic Tool

Use the Graphic tool to place graphics in your design document. You can either paste a graphic from the Windows Clipboard, or choose a graphic file in any of the supported graphic formats.

To make a graphic frame,

1.	Click the Graphic tool.

2.	Drag diagonally to create a frame in the size and shape you want. The words Undefined Graphic appear in the container.

To place the graphic in the frame,

1.	Inspect the graphic object to see its menu.

2.	Choose Define Graphic. Then either

Choose Paste to place the contents of the Clipboard in the graphic object. (If the Clipboard is empty, Paste is dimmed.)

Choose Paste From to name a file to place in the graphic object. In the Paste From Graphic File dialog box, choose the graphic you want. Paradox places it in the frame.

Note:	f the graphic has Design | Size To Fit set, it resizes to fit the graphic you paste in. Inspect the graphic object and choose Design to see if Size To Fit is checked.

See Also

Changing the name of an object

Graphic properties

Paste From Graphic File dialog box

Cropping a graphic


Cropping a Graphic

Cropping cuts a graphic down to the size and area you want. Cropping is available only if Design | Size To Fit is not checked.

Note:	Size To Fit is checked by default, and gets checked automatically when you put a graphic into a graphic object.

To crop a graphic,

1.	Drag the container until it is smaller than the graphic it contains.

2.	Click the graphic to select it. The pointer changes to the shape of a hand.

3.	Drag the graphic around in the container to show the part you want.

Since clicking inside the container moves the graphic in the container, you must select the container to move the graphic object as a whole. To do this,

1.	Click outside the graphic object, then click once to select the container. When handles appear, you can move the object as a whole.

2,	Click a second time to activate the graphic. The handles disappear, but you still see shadows on the rulers; and the pointer looks like a hand. Now you can move the graphic in the container.

See Also

Graphic tool

Graphic properties


Graphic Properties

To change graphic properties, use the Object Inspector. To see a graphic object's menu, inspect a selected graphic in a design document.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Graphic	Choose the source of the graphic. You can specify whether it's  clipboard or graphic file:

Paste:  Choose Paste to place the contents of the Clipboard in the graphic object. (If nothing appropriate is on the Clipboard, Paste is dimmed.)

Paste From:  Choose Paste From to name a graphic file to place in the graphic object. In the Paste From Graphic File dialog box, choose the graphic you want. Paradox places it in the frame.

Magnification	Display the graphic at 25%, 50%, 100%, 200%, or 400% of its original size. Paradox proportionally resizes the graphic to the setting you choose. You can also choose Best Fit, which proportionally resizes the graphic to the largest magnification that fits in the container.

Raster Operation	Define how Paradox combines the source graphic with the destination inverting, combining, including or excluding colors to your specifications.

Frame	Change the style, color, or thickness of the frame.

Horizontal Scroll Bar	Place a horizontal scroll bar at the bottom of your graphic object. Objects can have scroll bars in forms onscreen, but not on printed reports. The scrolling property is off by default.

Vertical Scroll Bar	Place a vertical scroll bar at the bottom of your graphic object. Objects can have scroll bars in forms onscreen, but not on printed reports. The scrolling property is off by default.

Design	Display the Design menu. Use these options to determine how objects behave in a design window:

Pin Horizontal:  Prevents left and right movement.

Pin Vertical:  Prevents up and down movement.

Contain Objects:  Makes the selected object contain any objects inside it. This option is checked by default. Contained objects move when their container is moved and are deleted when their container is deleted. Uncheck Contain Objects if you want objects inside to be independent.

Size To Fit:  Makes the graphic object adjust to fit its contents. When Size To Fit is on, you cannot resize the object using the handles.

Note:  Size To Fit (the default) adjusts the frame to fit the graphic; Magnification | Best Fit adjusts the size of the graphic to fit the frame.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs, depending on the type of document. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Graphic tool

Cropping a graphic

Raster operation


OLE Objects

OLE stands for Object Linking and Embedding. With the OLE tool you create a container into which you can paste an OLE object from the Clipboard. A link to the source file is inserted in your design.

The value of an OLE object is that you can access the power of the OLE server to work with the object from within Paradox. You can open the OLE server by right clicking the OLE object in your design, then choosing the application name from the list, followed by the command you need to work with the object. The source application opens, displaying the OLE object, which you can change. When you close the application, the OLE object in your design is updated with your changes.

The changes affect only the OLE object in Paradox. The original object you copied is not changed.

See Also

OLE tool


OLE Tool

Use the OLE tool to place an OLE object in your design document.

When you use OLE objects in Paradox fields, you can access the power of the OLE server to work with the object from within Paradox.

To place an OLE object,

1.	Click the OLE tool.

2.	Drag diagonally to create a container in the size and shape you want.

3.	From an OLE server, copy to the Clipboard the data you want to place.

4.	In your Paradox design, inspect the OLE object and choose Define OLE from its menu.

5.	Choose Paste. The data you copied from the OLE server appears on your design document.

Paradox is an OLE client only. You cannot use OLE to place Paradox field values in other applications. You can place OLE values in Paradox OLE fields or in OLE design objects in forms and reports.

Once you place an OLE value in Paradox, you can access its source application directly from Paradox to make any changes you need. The changes affect only the OLE object in Paradox. The original object you copied is not changed.

See Also

OLE objects

OLE object properties

Changing the name of an object


OLE Object Properties

To change OLE object properties, use the Object Inspector. To see an OLE object's menu, inspect a selected OLE object in a design document.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define OLE	Define the source of the OLE object (clipboard or application):

Paste:  Inserts information previously put into the Clipboard by an OLE server. If there is an OLE object in the Clipboard, you see the name of the OLE server after the word Paste.

Application name:  If you've already pasted an OLE object into the container, the Define OLE menu lists name of the application you pasted from. When you choose the application name, you see a list of available commands from that application. Choose the command you need to work with the OLE object.

Magnification	Lets you display the OLE object at 25%, 50%, 100%, 200%, or 400% of its original size. Paradox proportionally resizes the OLE object to the setting you choose. You can also choose Best Fit, which proportionally resizes the OLE object to the largest magnification that fits inside the object.

Frame	Lets you change the style, color, or thickness of the frame.

Horizontal Scroll Bar	Places a horizontal scroll bar at the bottom of your OLE object. Objects can have scroll bars in forms onscreen, but not on printed reports. The scrolling property is off by default.

Vertical Scroll Bar	Places a vertical scroll bar at the right of your OLE object. Objects can have scroll bars in forms onscreen, but not on printed reports. The scrolling property is off by default.

Design	Displays the Design menu. Use these options to determine how objects behave in a design window:

Pin Horizontal:  Prevents left and right movement.

Pin Vertical:  Prevents up and down movement.

Contain Objects:  Makes the selected object contain any objects inside it (the default). Contained objects move when their container is moved and are deleted when their container is deleted. Uncheck Contain Objects if you want objects inside to be independent.

Size To Fit:  Makes the OLE object adjust to fit its contents (the default). When Size To Fit is on, you cannot resize the object using the handles.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs, depending on the type of document. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

OLE tool


Button Tool

Use the Button tool to create buttons to place on a form. Using ObjectPAL, you can attach a method to the button. The user clicks the button to initiate the operation you defined in the ObjectPAL method.

The Button tool is available only in the Form Design window.

To create a button,

1.	Choose the Button tool.

2.	Drag diagonally to create the size and shape of button you want.

A text object appears on top of the button so you can give it a label. You can also delete the label and use the Graphic tool to place a picture or icon on the button.

You can make buttons that contain other objects. You can pin a button to its position in the design.

The button you draw is a standard pushbutton. Inspect the button and choose Button Type to turn it into a radio button or a check box.

See Also

Button properties

Changing the name of an object

Containing objects

Pinning objects on a form


Button Properties

To change button properties, use the Object Inspector. To see a button's menu, inspect a selected button in a design document.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Button Type	Display the Button Type menu. Choose Push, Radio, or Check Box. The default is Push, a standard pushbutton.

Style	Display the Style menu. (Style is not available when Button Type is Push). Choose from one of these button styles for both radio buttons and check boxes:

Borland:  Choose Borland if you want the radio button or check box you create to look like the ones you see in Paradox. Radio buttons appear as diamond shapes, and check boxes are gray, with a 3D look.

Windows:  Choose Windows if you want the radio button or check box you create to look like the ones you see in Windows, a standard circle (for a radio button) or a square (for a check box).

Center Label	Center the label on the button (available only for pushbuttons). If you move the label from the centered position, this property is automatically turned off, but you can turn it on again at any time as long as the button is a pushbutton and has a label. If you remove the label, the button picks up the next text object contained in it as the label.

Design	Display the Design menu. Use these options to determine how objects behave in a design window:

Pin Horizontal:  Prevents left and right movement

Pin Vertical:  Prevents up and down movement.

Contain Objects:  Makes any objects inside the button become contained, or uncheck Contain Objects to cause no objects to be contained. Contained objects move when their container is moved and are deleted when their container is deleted.

Note: If you turn off Contain Objects, the label is no longer contained and Center Label no longer applies.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. Use these options to determine how the button behaves at run time:

Visible:  Makes the button visible (default). If you uncheck it, Paradox hides the button when you run (view or print) the document.

Tab Stop:  Allows you to use Tab to move to this button (default).

Methods	Display ObjectPAL methods.

See Also

Button tool


Field Tool

Use the Field tool to place fields from Paradox tables into a design document.

To place a field object,

1.	Click the Field tool.

2.	Drag diagonally in the design area to create a field object. Depending on the properties of the tool, this field may be labeled, unlabeled, drop-down edit, list, radio buttons, or check box.

To define the field,

1.	Inspect the field object to display its menu.

2.	Choose Define Field. Paradox displays a list of fields you can assign to the field object.

3.	Choose a field name from the list.

If you need to place a field not available from the menu (such as a summary field or a special field), click the top of the menu to display the Define Field Object dialog box.

You can also leave the field undefined.

See Also

Changing the name of an object

Field properties

Display type

Define Field Object dialog box


Field Properties

To change the properties of a field object, use the Object Inspector. To see a field object's menu, inspect a selected field object.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Field	Display a list of fields to choose from. Click the top of the list to open the Define Field Object dialog box.

Color	Display the standard Paradox Color palette. Use these options to change the background color of the field:

Pattern	Display the Pattern menu where you have two options:

Color:  Displays the standard Paradox Color palette. Use it here to change the color of the pattern.

Style:  Displays a variety of patterns to fill a field.

Frame	Display the Frame menu. Use it to choose the style, color, and thickness of a field's border.

Display Type	Show the field as Labeled, Unlabeled, Drop-Down Edit, List, Radio Buttons, Check Box.

Horizontal Scroll Bar	Place a horizontal scroll bar at the bottom of a field at run time. Objects can have scroll bars in forms onscreen. The scrolling property is off by default.

Vertical Scroll Bar	Place a vertical scroll bar at the right of a field at run time. Objects can have scroll bars in forms onscreen (the default is no vertical scroll bar).

Design	Display the Design menu. Use these options to determine how objects behave in a design window:

Pin Horizontal:  Prevents left and right movement

Pin Vertical:  Prevents up and down movement.

Size To Fit:   Causes the field to automatically grow, or shrink to fit the to the size of its contents (the default).

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs depending on the type of document you are in. For help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Define Field Object dialog box

Font palette

Display type


Define Field Object Dialog Box

Use the Define Field Object dialog box to place a field not available from a field object's menu (such as a summary field, a special field, or a field in a parent table). To open the Define Field Object dialog box, inspect the field object, choose Define Field, then click the top of the field list.

Dialog Box Options

Data Model button

Click the Data Model button to oen the Data Model dialog box where you can add a table or change table relationships. The field you are defining appears in the status line.

Table name

Click the drop-down arrow to see a list of all available fields. Special fields containing data about the table appear in angle brackets (<>).

Summary

Display available summary operators. You can use these options to perform specific calculations on a specific set of values in a table. If you are not in a form, you can modify the scope of the summary.

Normal:  The scope is the current set.

Cumulative:  The scope is from the start of the report to the end of the current set.

Unique:  The scope ignores duplicate values.

Special Field

Display special fields that relate to the design.

Note:	Special fields that refer to a specific table (such as record number) are in the Table Name drop-down list, not in the Special Field drop-down list.

Calculated

Check this to make the field a calculated field. Then enter a formula in the text box below.

Copy Field

Place fields quickly in your formula for a calculated field. First select a field from the drop-down list of a table in the panel above, then choose Copy Field to paste that field name into the formula box at the insertion point.

See Also

Defining special fields

Defining a summary


Defining Special Fields

A special field is not a field of a table, but contains information about the table or about the design as a whole.

To choose special fields that relate to the table (the table's name, the current record number, the number of records in the table, and the number of fields in the table), click the drop-down arrow attached to the table name in the Define Field Object dialog box.

Choose special fields that relate to the design as a whole (today's date, the current time, a page number, the number of pages in the form or report) by clicking the drop-down arrow in the Special area of the Define Field Object dialog box.

Choose the special field you want and choose OK. Paradox returns you to the design window, and the field object contains the new definition.

See Also

Define Field Object dialog box


Display Type

You can display a field in these formats.

Choose:	To Display:

Labeled	A field with its field label, along with the value of the current record. The label and edit region cannot be removed or deleted from the field.

Unlabeled	A field without a label.

Drop-Down Edit	A list of values users can select from or type in their own value.

List	A list of values users can select from. There is no type-in box.

Radio Buttons	A list of values with a round button beside each one. Users choose a button to select a value. Only one value can be selected at a time.

Note:  Changing the text in the label of a button does not alter the button's value. To alter the value of the button, inspect the field and choose Display Type | Radio Buttons again.

Check Box	A list of values with a check box beside each one. Users choose a box to select a value. Any number of values can be selected at one time.

Note: Changing the label of the check box does not alter its value. To alter the value of the check box, inspect the field and choose Display Type | Check Box again.

When you choose Drop-down Edit, List, or Radio Buttons, the Define List dialog box opens. When you choose Check Box, the Check Box Values dialog box opens.

See Also

Define List dialog box

Check Box Values dialog box


Define List Dialog Box

Use the Define List dialog box to enter the values you want displayed in a drop-down edit, list, or radio button field.

Dialog Box Options

Item/Item List

Type the choices for the field's value in the Item text box. Press Enter after each choice you type. The choice appears in the Item List.

Field Type

The display type you choose appears in the Field Type area.

Sort List

Choose Sort to alphabetically sort the values in the Item List.

Modify Item

Select an item from the Item list and choose Modify Item to move the choice back to the Item text box, where you can edit it. Press Enter to return the choice to the Item List.

Remove Item

Select an item from the list and choose Remove Item to remove it from the Item List.

Change Order

Select an item from the list, then use the Up and Down arrows to move it up or down in the Item List.

Note:	When you enter values in a field, make sure the field size is large enough. Paradox trims values which are too large to fit in the field. Also, make sure any values you enter meet the requirements of any validity check for the field.

To open the Define List dialog box, inspect the field object in a Form or Report window. Choose Display Type, then choose Drop-down Edit, List, or Radio Buttons.

If you later want to change the values in a drop-down edit, list, or radio button type field, select the field and choose the appropriate Display Type again. The Define List dialog box reopens.

See Also

Display type


Check Box Values Dialog Box

Use the Check Box Values dialog box to enter the values you want entered into the table when users click a box. When you exit this dialog box, Paradox places these values in labels next to the check box. To open the Check Box Values dialog box, inspect the field object in a Form or Report window. Choose Display Type, then choose Check Box.

You can edit these text labels without altering the values. To change the values, inspect the field and choose Display Type | Check Box again. The Check Box Values dialog box reopens.

Dialog Box Options

Value When Checked

Type what you want entered into the table when the user checks the box.

Value When Blank

Type what you want entered into the table when the user does not check the box.

Note:	Simply leaving a check box blank does not cause Paradox to enter the Value When Blank entry in the table. To use the Value When Blank entry, you must check and uncheck the box. You leave a value in the table blank by leaving the check box blank.

See Also

Display type


Table Tool

Use the Table tool to place linked or unlinked tables in a design document.

To place a table frame,

1.	Click the Table tool icon to choose the Table tool.

2.	Click and drag diagonally in the design area to create the table frame.

Paradox creates an undefined table frame with a header containing column labels that say "Label" and a record containing undefined fields.

To define table frames,

1.	Inspect the table frame.

2.	Choose Define Table from the menu.

3.	Choose the table you want from the list of tables, or click the top of the list to open the Define Table Object dialog box.

The fields and labels in the table are replaced by fields and labels appropriate to the chosen definition. Any contained objects, properties, or ObjectPAL code are lost.

You can also define a table frame by inspecting the master record and choosing Define Record or by defining individual field objects.

If Design | Size To Fit is set, the table frame tries to size to the width required to show all columns. If it cannot, or if Size To Fit is not set, the missing columns are still there. You can view them by placing a horizontal scroll bar on the table frame.

See Also

Changing the name of an object

Table properties

Define Table Object dialog box


Define Table Object Dialog Box

Use the Define Table Object dialog box to limit or reorder the display of a table frame or multi-record object to show only the fields you want. By default, Paradox displays all fields of a table when you first define a table frame.

To open the Define Table Object dialog box, inspect the table frame, choose Define Table, then click the top of the table list.

Dialog Box Options

Data Model

Click the Data Model icon to open the Data Model dialog box where you can add or remove tables bound to the document.

Table name

Click the table's drop-down arrow to see a list of all available fields. Any fields you select on this list are added to the Included Fields list.

Included Fields

Paradox lists the fields to be displayed on the table frame or multi-record object in the order they will appear.

To remove a field from the Included Fields list, choose it and click the Remove Field button.

To add a field to the Included Fields list, select it from the list of fields under the table name.

Scroll bar

Scroll to see the end of a long field name.

Change Order

Use the Change Order arrows to move your selected field up or down in the Included Fields list. This determines the order of the fields in the table frame or multi-record object.

Remove Field

Select a field name and click to remove the field(s) from the Included Fields list.

Grow To Fit

Check Grow To Fit to make the table frame expand to fit all fields in the table you defined. If you leave this unchecked, the table frame retains its current size. Grow To Fit is ignored by multi-record objects.

Replace Layout

Check Replace Layout to overwrite fields in the table frame with the fields listed in the Define Table Object dialog box. Any properties or ObjectPAL code on the fields are lost.

If you leave Replace Layout unchecked, the fields you add to the table frame are appended, leaving existing fields intact (even if existing fields are undefined). Some existing fields might become undefined because they're incompatible with the new table or multi-record object definition, but any properties or ObjectPAL code are not lost.

Tip:	If you are concerned about losing properties or ObjectPAL code, it is often easier to change a table by direct manipulation rather than using this dialog box to remove or rearrange columns.

See Also

Data Model dialog box

Selecting from lists

Changing the way your table looks


Changing the Way Your Table Looks

By default, the table you place on your design is in standard tabular format. You can customize this format to best display the information on the form.

You can change table properties such as colors, fonts, and grid style just the way you change the properties of other design objects.

You can also rearrange your table to place every detail exactly where you want it. You can

Rotate columns by dragging them to the new position.

Move fields by dragging them to a new position.

Move fields out of the table area by dragging them out.

Resize columns, rows, and header areas by dragging on the grid lines.

Change the number of rows or columns displayed. Remove a column by selecting it and pressing Del. Add a column by selecting it and pressing Ins. If your Select From Inside design preference is off (set this preference from the Designer Preferences dialog box) you may have to click the column more than once to select it. The new column appears to the left of the selected column.

Note:	These changes do not restructure the table itself. They change only the view of it in this table frame on this document.

See Also

Table properties

Direct manipulation


Table Properties

To change the properties of a table frame, use the Object Inspector. To see a table frame's menu, inspect a selected table frame.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Table	Display a list of tables bound to the document. (You can also click the top of this list to open the Define Table Object dialog box.) When you choose a table, Paradox removes the contents of the record and header and replaces them with new fields and labels. Any contained objects, properties, or ObjectPAL code are lost.

You can also define a table frame implicitly by defining the fields within it.

Color	Display the standard Paradox Color palette. Use it here to change the color of the table's background.

Pattern	Display the Pattern menu, where you have two options:

Color:  Displays the standard Paradox Color palette. Use it here to change the color of the pattern.

Style:  Displays a variety of patterns to fill the table.

Grid	Change the grid style and color. Check Record Divider to show lines between records at run time.

Detach Header	Separate the header from the table. You can then move or delete the header.

Attach Header	Re-attach a detached header.

Horizontal Scroll Bar	Place a horizontal scroll bar at the bottom of your table. Objects can have scroll bars in forms onscreen but not on printed reports. If your table has Size To Fit set and there is not enough space for all columns, the scroll bar is added automatically when you view the form.

Vertical Scroll Bar	Place a vertical scroll bar at the right of your table. Objects can have scroll bars in forms onscreen, but not on printed reports. The scrolling property is off by default. The vertical scroll bar does not work at design time. When you view data, it scrolls through the data much like the navigation buttons.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevents left and right movement

Pin Vertical:  Prevents up and down movement.

Size To Fit:  Makes the table automatically grow or shrink to fit the size of its contents. If the table cannot fits its contents, it automatically turns off Size To Fit.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs depending on the type of document. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Define Table Object dialog box

Color palette


Multi-Record Tool

A multi-record object is a repeating pattern of fields. You specify the layout for one record, then tell Paradox how many times across and down the page you want the pattern to repeat, and Paradox lays out your data for you. A common use for a multi-record object is to create mailing labels.

To create a multi-record area,

1.	Click the Multi-Record tool.

2.	Drag diagonally to form a box in the design area.

To define the multi-record object,

1.	Inspect the object to display its menu.

2.	Choose Define Record. This displays a drop-down list of tables bound to the document. If you choose a table, Paradox automatically inserts fields from that table after removing all objects in the records. Any contained objects, properties, or ObjectPAL code are lost.

3.	Click the top of the table list to open the Define Table Object dialog box.

Note:	You can also define a multi-record object implicitly by containing or defining fields in it.

From the object's menu, you can choose Record Layout. This displays the Record Layout dialog box. Use this dialog box to

Specify how many records you want to show on a page.

Specify the vertical and horizontal separation between the records.

Establish the order in which the records appear.

While you're designing your document, only gray boxes corresponding to the placement of the records appear. When you use the document, Paradox fills in the records from the table. To use the document, either

Click the View Data SpeedBar button.

Choose Form | View Data in a Form Design window.

Choose Report | View Data in a Report Design window.

See Also

Changing the name of an object

Multi-record object properties

Data Model dialog box

Record Layout dialog box

The SpeedBar


Multi-Record Object Properties

To change the multi-record object properties, use the Object Inspector. To see the menu, inspect a selected multi-record area.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Record	Display a drop-down list of tables bound to the document. Choose a table, or click the top of the list to open the Define Table Object dialog box. When you choose a table, Paradox replaces all the objects in the record. Any contained objects, properties, or ObjectPAL code are lost.

Tip: If you have contained objects or ObjectPAL code you want to save, use the Define Table Object dialog box with the Replace option off.

Record Layout	Display the Record Layout dialog box, where you can define the number, order, and spacing in the placement of the records in the multi-record object.

Columnar	Expand or contract individual records in a multi-record object when you print or preview reports. This means that the multi-record object does not display the records in a fixed-size grid. Using the Columnar property, you can usually fit more records on a single page than you can without the Columnar property.

Note: When you check Columnar, the Record Layout dialog box must use the Top-Down, Then Left-Right setting.

Color	Display the standard Paradox Color palette.

Pattern	Display the Pattern menu where you have two options:

Color:  Displays the standard Paradox Color palette. Use it here to change the color of the pattern around the records.

Style:  Displays a variety of patterns to fill the space around the records.

Frame	Change the style, color, or thickness of the frame.

Vertical Scroll Bar	Place a vertical scroll bar at the bottom of your multi-record object (forms only). The scrolling property is off by default. The vertical scroll bar does not work at design time. When you view data, it scrolls through the data much like the navigation buttons.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevents left and right movement.

Pin Vertical: Prevents up and down movement.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs depending on the type of document. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Display ObjectPAL methods (forms only).

See Also

Record Layout dialog box

Define Table Object dialog box

Color palette


Record Layout Dialog Box

Use the Record Layout dialog box to specify the layout of records in a multi-record document.

Dialog Box Options

Number

The number of records across and down.

Separation

The vertical and horizontal spacing between the records.

Top Down, Then Left Right or Left Right,Then Top Down

The order the records appear in.

Note:	If Include All Data is checked for a multi-record object in a report, then the final number of repeats in the fully rendered report is not determined by this number but by the data. If the order is Top Down Left Right, then Paradox adds more records in extra columns on the right. If the order is Left Right Top Down, Paradox adds additional records in extra rows on the bottom.

When you define the layout you want and choose OK, you return to the design window. The multi-record object appears in its new layout.

To open the Record Layout dialog box, inspect a multi-record object and choose Record Layout.

See Also

Multi-Record tool


Graph Tool

Use the Graph tool to create charts and graphs in a design document.

To place a graph object,

1.	Click the Graph tool.

2.	Drag diagonally in the design area to create a graph object.

To define the graph objec,t

1.	Inspect the graph to display its menu.

2.	Choose Define Graph.

3.	Choose a table from the list or click the top of the list to open the Define Graph dialog box. If you choose a table from the list, Paradox picks fields in order in the table according to the data type.

Note:	You can inspect and define areas of a graph without having to first generate a default graph. You never have to use the Define Graph dialog box if you don't want to. Just inspect all of the graph objects. By inspecting them, you can also change such properties as color, patterns, and so on.

See Also

Graph properties

Define Graph dialog box

Changing the name of an object

Graph area properties


Define Graph Dialog Box

Use the Define Graph dialog box to define all at one time the values you are graphing. To open the Define Graph dialog box, inspect the graph object, choose Define Graph, then click the top of this list. Or click the Quick Graph button on a Table window SpeedBar.

Dialog Box Options

Data Model button

Choose to view or change the data model.

Data Model area

Use the drop-down list from the table names to select the fields you want to use. This area shows all tables in the data model.

Field Used In

Specify unique values for the following:

X-Axis 	Specify the field whose unique values you want to use as X-Axis values. Paradox allows only one X-Axis field.

Y-Value	Specify the field(s) whose values you want to graph against the Y-Axis (the different series of the graph). You can only pick one field for Y-Value when your data type is 2-D summary.

Change Order

Click the Up or Down arrows to move a selected field up or down in a list so that the series appear in the order you want.

Remove Field

Click to remove a selected field from a list.

Data types

Specify the type of data you're going to graph:

Tabular	When defining a tabular graph, choose the field values you want for the X-Axis and Y-Values. When you have more than one field in the Y-Value area, you can change their order with the Up and Down arrow buttons. You can remove any selected field with the Remove Field button. A tabular graph takes its data directly from the table, rather than summarizing the data in the table.

1-D Summary	A 1-D Summary graph analyzes one type of data in light of another. When you choose 1-D Summary, Summary becomes available. Choose the type of summary operation to perform on each Y-Value field you choose.

2-D Summary	A 2-D Summary crosstab summarizes information by more than one category. When you choose 2-D Summary, the Grouped By area appears where you specify an additional field whose values you want to group the graphed summary data by.

Summary	Click the drop-down arrow in the Summary area to display available summary operators. If you're creating either a one-dimensional or two-dimensional summary graph, specify the type of summary operation to perform on each Y-Value field you choose. Summary is unavailable for a tabular graph.

See Also

Graph tool

Using the Define Graph dialog box

Choosing the graph's data type

Specifying X-Axis values

Specifying the Y-Axis

Specifying an additional grouping field in a 2-D summary graph

Summaries

Summary operators


Graph Properties

To change graph properties, use the Object Inspector.

A graph object has many parts. Each part of the graph object has a unique menu in addition to the menu of the graph as a whole. Inspect the graph or an area of it to see its list of properties.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Graph	Display a drop-down list of tables bound to the document. Click the top of this list to open the Define Graph dialog box.

Color	Display the standard Paradox Color palette, where you can change the color of the area around the graph.

Pattern	Change the color and style of the pattern of the area around the graph.

Frame	Change the color, style, and thickness of the frame.

Data Type	Select Table, 1D Summary, or 2D Summary.

Graph Type	Displays listing of 2D and 3D graph types.

Min x-values	Lets you set the minimum graph series.

Max x-values	Lets you set the maximum graph series.

Options	Use these options to further customize your graph:

Show Title:  Toggles the display of the title on and off. On by default.

Show Legend:  Toggles the legend on and off. Off by default.

Show Grid:  Toggles the display of the grid on and off. On by default.

Show Axes:  Toggles the display of axes on and off. On by default.

Show Labels:  Toggles the display of labels on and off. Off by default.

Rotation:  Lets you turn a graph around its vertical axis by the number of degrees you choose. This option is available for all 3-D graphs except 3-D Pie and 3-D Columns.

Elevation:  Lets you change the angle from which you view a 3-D graph. This option is available for all 3-D graphs except 3-D Pie and 3-D Columns.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevents left and right movement

Pin Vertical: Prevents up and down movement.

Contain Objects: Make any objects inside the graph object move with it.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. This menu differs depending on the type of document. For Help on the entries in this menu, select them with the arrow keys and press F1.

Methods	Displays ObjectPAL methods (forms only).

See Also

Graph area properties

Define Graph dialog box

Color palette

Summaries


Graph Area Properties

You can change properties of areas of the graph. When the pointer changes to a small vertical arrow, right-click to see a menu for that area. For help on these properties, use the arrow keys to select a property, then press F1.

For x-axis, y-axis, and Grouped By field, you can specify field, scale, grid, ticks, and title. In a 2-D summary graph, you can also define the group by inspecting the graph title.

You can set the following options for series labels:

Choose:	To:

DefineY-Value	Show a list of available fields. Choose the field whose values you want to graph by the Y-axis. Or click the top of the list to open the Define Field Object dialog box, where you can choose a field from another table in the data model.

You can specify more than one Y-value, one at a time, if you inspect the Y-axis area instead of just a series.

Title	Specify Text and Font or Use Default.

Color	Display the standard Paradox Color palette.

Pattern	Change the color and style of the pattern.

RemoveThis

Y-Value	Remove a series from a graph. The field is also removed from the Y-Value fields list in the Define Graph dialog box. This option is available with Tabular and 1D Summary data types.

Type Override	Choose None, 2D Bar, 2D Line, or 2D Area. Type Override is available for any 2D Bar, 2D Line, or 2D Area or Rotated Bar graph.

To change graph type, data type, and formats for the whole graph, right-click the graph outside the specific areas. The menu for the graph appears.

See Also

Color palette

Graph properties

Enter Title dialog box

Define Graph dialog box


Enter Title Dialog Box

If you're inspecting the title or subtitle area of the graph, type the name you want to appear above the graph either as the title or as the subtitle.

If you're inspecting the x-axis label area, type the name of the x-axis.

If you're inspecting the y-axis label area, type the name of the y-axis.

To open the Enter Title dialog box, inspect the title or subtitle area of the graph, choose Title or Subtitle, then choose Text. Or inspect the x- or y-axis label area of the graph, choose Title, then choose Text.

See Also

Graph area properties


Crosstab Tool

Use the Crosstab tool to create crosstabs in a form. The Crosstab tool is available only in the Form Design window.

To place a crosstab object,

1.	Click the Crosstab tool.

2.	Drag diagonally in the design area to create a crosstab object.

To define the crosstab object,

1.	Inspect the crosstab object to display its menu.

2.	Choose Define Crosstab. Paradox displays a list of tables bound to the document.

3.	Choose a table from the list, or click the top of the list to open the Define Crosstab dialog box.

In the Define Crosstab dialog box, you can select fields for column headings, row categories, and summarized data. You can also revise the document's Data Model and choose summary operations.

If you choose a table in the list, Paradox chooses fields in order, according to the data type, for category, column, and summary fields. You can accept these or redefine the fields.

See Also

Crosstab properties

Changing the name of an object

Define Crosstab dialog box

Using crosstabs and graphs


Define Crosstab Dialog Box

Use the Define Crosstab dialog box to create your crosstab specification all at once rather than by creating it piece by piece by defining and adding fields.

Dialog Box Options

Data Model button

Choose to view or change the data model.

Data Model area

All tables in the data model are shown in this area.

Field Used In

Specify the settings for each field in the crosstab:

Column	Specify which field's unique values to use as column headings across the top of the crosstab.

Categories	Specify the field(s) whose values you want to use as row headings or categories down the leftmost column of the crosstab.

Summaries	Specify the field(s) whose values you want to perform a summary operation on, thus providing the data of the crosstab.

Change Order	Click the Up or Down arrows to move a selected field up or down in a list.

Summary

Specify the type of summary operation to perform on each summary field you choose. Click the drop-down arrow in the Summary area to display available summary operators. You can use these to perform specific calculations on a specific set of values.

Remove Field	Click to remove the selected field from a list.

If you opened the dialog box from a Table window, you cannot choose OK to generate the crosstab if you have not defined its fields---at least one field for either the column headings or row categories and at least one field to summarize. The OK button is not available until these minimal conditions are satisfied.

To open the Define Crosstab dialog box, inspect the crosstab object, choose Define Crosstab, then click the top of this list. Or click the Quick Crosstab button on a Table window SpeedBar.

See Also

Using the Define Crosstab dialog box

Specifying column headings

Specifying row headings or categories

Specifying the summary data

Specifying summary operations

Crosstab tool

Using crosstabs and graphs


Crosstab Properties

To change the properties of a crosstab, use the Object Inspector.

A crosstab object is a composite, made up of fields, column area, row area and summary area. Each part of the crosstab has a unique menu in addition to the menu of the crosstab object as a whole. Inspect the crosstab or one area of it to see its list of properties.

For help on these properties, use the arrow keys to select a property, then press F1.

Choose:	To:

Define Crosstab	Display a drop-down list of tables bound to the document. Click the top of this list to open the Define Crosstab dialog box. or choose a table and Paradox assigns fields in order, according to data type.

Color	Display the standard Paradox Color palette. The colors you choose are applied to the area around the crosstab.

Grid	Change the grid style and color.

Horizontal

Scroll Bar	Place a horizontal scroll bar at the right of your crosstab. The scrolling property is off by default.

Vertical

Scroll Bar	Place a vertical scroll bar at the right of your crosstab. The scrolling property is off by default.

Design	Display the Design menu. Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevent sleft and right movement.

Pin Vertical: Prevents up and down movement.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. Visible is checked by default. If you uncheck it, Paradox hides the crosstab object when you run (view or print) the document.

Methods	Display ObjectPAL methods.

See Also

Define Crosstab dialog box

Color palette

Using crosstabs and graphs


Data Model Button

Click the Data Model button to open the Data Model dialog box. This dialog box lists the tables referred to in your form or report and displays a graphic model of the relationships among these tables.

In the Data Model dialog box you can change the tables bound to a document and the relationships among them.

See Also

Data Model dialog box


Object Tree Button

A Paradox object tree shows you a schematic diagram of the objects in a document and their containership relations to one another. Look at the object tree to view the containership hierarchy of your form or report.

Click the Object Tree SpeedBar button to see the object tree quickly. Or choose Object Tree from the Form or Report menu in a design window. Paradox displays the object tree in a separate window.

If a single object is selected when you choose Form | Object Tree, only that part of the tree is shown. Objects with ObjectPAL methods attached are distinguished by underlined object names.

You can select or inspect any object from the object tree, and change its properties from there rather than in the design window. This is especially useful if you have a large design and do not want to use the scroll bars to navigate around in it.

You can also inspect a group and display its object tree or an individual object and display its object tree.

See Also

Using bands in reports

The SpeedBar


View Data Button

Click the View Data SpeedBar button to view the document with its data displayed. This is the same as choosing Form | View Data or Report | Preview.

When working with forms, you must click View Data before you can view or edit data in the Form window.

When working with Reports, use the View Data SpeedBar button to preview the printed output onscreen.

See Also

Form | View Data

Report | Preview


Print Button

Click the Print SpeedBar button to print a document.

Paradox opens the Print File dialog box. This dialog box has different options depending on the kind of document you're printing. When you choose OK, the file begins printing.

See Also

Printing


Font Palette

Use the Font palette to specify typeface, size, and style. To open the Font palette, click the snap at the top of any font menu. To move the Font palette, drag its title bar.

Choose:	To:

Typeface	Select the typeface you want. The typefaces available reflect the fonts you installed on your system.

Size	Select the point size you want.

Style	Change the text style. Choose from the following options:

Normal:  Removes all style attributes from the text.

Bold:  Displays the text in a heavier style.

Italic:  Displays the text at a slanted angle.

Strikeout:  Displays the text with a horizontal line running through it.

Underline:  Displays the text with a horizontal line beneath it.

To change a font using the Font palette, select the field you want to change, and choose the options you want from the palette. The selected text changes as you choose options.

You can leave this palette onscreen for as long as you like by clicking the snap at the top of the screen. When you click the snap the palette changes to a dialog box where you can change any of the options listed above. In the font list a 'TT' indicates a True Type font and a mini printer indicates a printer font.

Click the snap again to remove the font palette from the screen.

See Also

Color palette


Color Palette

When you choose Color from an object's menu, Paradox displays its standard Color palette of 16 colors.

To keep this floating Color palette displayed throughout a design session, click the snap at the top of the Color palette. The Color palette stays on the Desktop until you click the snap again to put it away.

To move the floating Color palette, drag the title bar. To close the palette, click the snap on its title bar.

Options on the floating Color palette reflect choices available for the selected object. The status line at the bottom of the pinned palette tells you where Paradox will apply your choice of color.

Choose:	To:

Transparent	Use a translucent version of the color that blends with the colors beneath the object. You can make colors transparent only from the floating Color palette; the option is not available from the menu.

Custom Color	Open the Custom Color dialog box, where you can create colors not on the standard palette. You can open this dialog box only from the floating Color palette; it is not available from the menu.

To change the color of parts of an object, like its frame or pattern, click the arrow to the right of the list box and choose the part you want to change.

You can use the keyboard to access the Color palette and snap it to the screen, Inspect an object, press the Down arrow to choose Color on its menu, then press Enter. The temporary Color palette appears. Press Enter again to snap the palette to the screen. Press Alt+4 to unsnap the palette.

See Also

Creating custom colors


Creating Custom Colors

When you snap the Color palette to the screen, you can create custom colors.

Choose one of the blank spaces on the floating Color palette, then choose Custom Color. This displays the Custom Color dialog box.

Sample area	Changes color to reflect the settings you choose.

Scroll bars and

value boxes	Create the color mix you want. Slide the box in each scroll bar or type in values.

Radio buttons	Choose	To mix

RGB	Red, green, and blue

HSV	Hue, saturation, and value

CMY	Cyan, magenta, and yellow

When you get the color mix the way you want it and choose OK, the custom color appears on the Color palette and is available for use.

Paradox saves custom colors in the PDOXWIN.INI file, not with the particular document you're working on when you create the color. This gives you the ability to create a custom color in one design document and use it in any other design document.

See Also

Color palette


Graphs and Crosstabs

What is a graph?

Creating a graph

What is a crosstab?

Using crosstabs and graphs

Creating a crosstab

Designing a crosstab from the Form Design window


Using Crosstabs and Graphs

Cross-tabulating and graphing the data in a table are ways of focusing on subsets of the whole set of table data. A table's fields often represent separate sets, or categories, of data. A crosstab focuses on summaries of data from one or more fields of a table that are divided into the categories of unique values from one or more other fields of the table. A graph presents this categorized and summarized data visually.

You create crosstabs in forms, and graphs in either forms or reports. Crosstabs and graphs use the data model of the design document you place them in.

You do not need to create a crosstab of a table to derive a graph from that table. However, when you create a graph, you're graphing cross-tabulated data. When you define the parts of a graph, you're actually specifying a crosstab.

See Also

The data model

Adding tables to the data model

Crosstabs

What is a crosstab?

Creating a crosstab

Graphs

What is a graph?

Creating a graph


What is a Crosstab?

Crosstabs give you a whole new way to analyze your data. A crosstab summarizes (cross-tabulates) information according to one or more fields. It then displays the summary in tabular, spreadsheet-like format.

Crosstabs are valuable for getting at "hidden" information in your tables. A crosstab

Classifies data by one or more categories

Summarizes the data within these categories

Sorts the summarized information

Displays the data in a spreadsheet-like format

You can place crosstabs only in forms. You cannot place them in reports.

See Also

Adding tables to the data model

One-dimensional crosstabs

Two-dimensional crosstabs

Multi-table crosstabs

Crosstabs of detail tables

Designing a crosstab from the Form Design window


One-Dimensional Crosstabs

A simple crosstab is one-dimensional. You analyze one type of data in light of another. For example, you can see how order amounts break down when classified by the method customers used to pay for them.

The Orders table below has a Payment Method field. You can create a crosstab that counts the number of orders placed using each of the seven payment methods used. The crosstab displays information like a spreadsheet. For example, you can make Payment Method be the category of information, and do the calculation Count(Order#) to provide the data for each category. You can arrange the display of information horizontally:

AmEx	Cash	Check	COD	Credit	MC	Visa

Number of

Orders

or vertically:

Number of Orders

AmEx

Cash

Check

COD

Credit

MC

Visa

Paradox can usually calculate and generate a vertical one-dimensional crosstab faster than a horizontal one.

See Also

What is a crosstab?

Two-dimensional crosstabs

Multi-table crosstabs


Two-Dimensional Crosstabs

A more complex type of crosstab summarizes information by more than one category.

For example, suppose the Orders table contains a Month field, whose values are the month of Sale Date. With this field and the Payment Method field, you can generate a crosstab that presents the sum of orders by payment method and by month. The numbers can be spread out in two dimensions to reflect both the month when the orders were placed and the method used to pay for them. Values from the Payment Method field can appear across the top, with values from the Month field down the left side.

AmEx	Cash	Check	COD	Credit	MC	Visa

Apr

Aug

Dec

Feb

Jan

Jul

Jun

Mar

May

Nov

Oct

Sept

The summary information (count of orders) appears sorted in rows by Month (alphabetical order, not numerical order) and in columns by Payment Method. This is a convenient way of analyzing the buying habits of customers over a period of time.

See Also

What is a crosstab?

One-dimensional crosstabs

Multi-table crosstabs


Multi-Table Crosstabs

You can create a crosstab that takes its information from more than one table. Establish the data model you want.

A crosstab can draw information from any number of tables that are linked in a single-valued (one [image] one or many [image] one) relationship. For example, if you want to view the number of items in stock by equipment class and the vendor that supplies them, you can link the Stock and Vendors tables. You're then free to  the rows, columns, and summary fields of the crosstab using any field from either table. Here's one possibility, using the Vendors Name field from the Vendors table and the Equipment Class field from the Stock table:

Photo Equipment	Search Equipment	Small Instruments

Aqua Research Corp.

Cacor Corporation

Dive & Surf

Dive Canada

Dive Time

J.W. Luscher Mfg.

Nautical Compressors

Scuba Professionals

Techniques

Note:	You can use fields from linked tables only if the link is single-valued. You cannot crosstab information from fields of tables linked in multiple-valued (1 [image] M) relationships.

Using this type of crosstab, you can look at combinations of information in a new way and analyze your buying strategies accordingly.

See Also

The data model

Adding tables to the data model

What is a crosstab?

Crosstabs of detail tables


Crosstabs of Detail Tables

Suppose you have a linked multiple-valued (1 [image] M) relationship and you want to see a summary crosstab of only those records in the detail table that apply to a record of the master table. For example, you can link Customer and Orders. In this relationship, each customer can have many orders. You can link the two tables and create a crosstab on the detail table, Orders. You can then place the Customer No or Name field (or both) from the master table, Customer, on the form. Because of the data model, Paradox knows that the information in the crosstab applies only to the current record of the master table.

For example, you can define a crosstab of the detail table Orders that sums the Total Invoice field by payment method and by month for each customer.

Name : Kauai Dive Shoppe

Cash	Check	Credit	Visa

Apr

Dec

Feb

Jul

May

Oct

The Name field at the top comes from the parent table, Customer. As you scroll through the Customer table, the crosstab is updated to show each customer's order information.

See Also

The data model

Adding tables to the data model

What is a crosstab?

Multi-table crosstabs


Creating a Crosstab

You can create a crosstab in one of two ways:

Quick Crosstab

Open the table from which you want to derive a crosstab, then either click the Quick Crosstab SpeedBar button or choose Table | Quick Crosstab.

Undefined crosstab model

In a Form Design window, create a new form for the table from which you want to derive a crosstab, then click the Crosstab tool to place an undefined crosstab model on the form.

Note:	As with all SpeedBar buttons, you can specify prototype crosstab properties by inspecting the Crosstab SpeedBar button.

See Also

What is a crosstab?

Modifying a design window SpeedBar

Using Quick Crosstab

Designing a crosstab from the Form Design window

Using the Form Design window and Crosstab tool


Using Quick Crosstab

To create a crosstab quickly

1.	Choose File | Open | Table to open the table from which you want to derive a crosstab.

2.	Click the Quick Crosstab SpeedBar button or choose Table | Quick Crosstab. The Define Crosstab dialog box appears.

3.	In the Define Crosstab dialog box, specify the fields whose values you want to use as the column headings, leftmost row categories, and summarized data.

4.	Choose OK. Paradox calculates and generates the crosstab in a new Form window.

5.	To further modify the crosstab, either

Click the Form Design SpeedBar button

Press F8

Choose Form | Design

See Also

What is a crosstab?

Using the Form Design window and Crosstab tool

Using the Define Crosstab dialog box

Define Crosstab dialog box


Using the Form Design Window and Crosstab Tool

To create a crosstab from the Form Design window

1.	Choose File | New | Form. The Data Model dialog box appears.

2.	Choose the table(s) from which you want to derive the crosstab. If you choose more than one table, define their relationship to one another.

3.	Choose OK. The Design Layout dialog box appears.

4.	Choose the Blank layout style.

5.	Choose OK. A new Form Design window appears.

6.	In the Form Design window, create a crosstab by clicking the Crosstab tool, then clicking the position on the form where you want to place the upper left corner of the crosstab object, and then dragging to the size and shape you want. An empty crosstab object appears with undefined fields in the row header, column header, and first summary area.

At this point, you can

Inspect the various undefined fields, the row area, the column area, the summary area, and/or the entire crosstab object to define and format them.

Inspect the entire crosstab object to open the Define Crosstab dialog box and then define the crosstab from it.

See Also

What is a crosstab?

Using Quick Crosstab

Linking tables

Define Crosstab dialog box


Using the Define Crosstab Dialog Box

In the Define Crosstab dialog box, you can

Specify which field's values to use as column headings across the top of the crosstab.

Specify the fields whose values you want to use as row headings, or categories, down the leftmost column of the crosstab.

Specify the fields whose values you want to perform a summary operation on, thus providing the data of the crosstab.

Specify the type of summary operation to perform on each summary field you choose.

See Also

Define Crosstab dialog box

Specifying column headings

Specifying row headings or categories

Specifying the summary data

Specifying summary operations

Changing the order of category and summary fields

Removing fields from the crosstab

Generating the crosstab or returning to Form Design


Specifying Column Headings

When you first open the Define Crosstab dialog box, Column is selected by default in the Field Used In area. With Column selected, choose from the drop-down menu of the table the field whose values you want to be the column headings.

You can only choose one field to supply column heading values. If you're creating a vertical one-dimensional crosstab, do not choose a field for column heading values.

See Also

Using the Define Crosstab dialog box

Specifying row headings or categories

Specifying the summary data

Removing fields from the crosstab


Specifying Row Headings or Categories

To choose a field to supply values for row headings, or categories, select Categories in the Field Used In area. With Categories selected, choose from the drop-down menu of the table the field(s) whose values you want to be the row categories. (You cannot use the same field for column headings and row categories. If you've already chosen a field from this table to supply the column heading values, that field will be dimmed in the menu.)

If you're creating a horizontal one-dimensional crosstab, do not choose a field for row categories. For all two-dimensional crosstabs, as long as you have at least one field specified for column headings, you can choose as many fields as are available and that are valid in the tables of the data model to be row categories. Each field you add to the Categories list further refines the grouping of information. When Paradox generates a crosstab with multiple fields specified for categories, it sorts the information by the top category first, then by the next, and so on.

See Also

The data model

Using the Define Crosstab dialog box

Specifying column headings

Specifying the summary data

Removing fields from the crosstab


Specifying the Summary Data

Whether your crosstab is one-dimensional or two-dimensional, you need to specify the field(s) whose data you want to summarize in the crosstab. A one-dimensional crosstab summarizes just within each of the categories represented by the column headings or just within each of the row categories. A two-dimensional crosstab summarizes by the categories of both the column and the row.

With Summaries selected, choose from the drop-down menu of the table the field(s) you want to supply the set of values to summarize. (You cannot choose the same field to summarize that you've chosen for column headings or for row categories. If you've already chosen fields from this table to supply column heading and row category values, those fields will be dimmed in the menu.)

You can choose as many fields as are available and that are valid from the tables of the data model. The order in which you choose them determines the order in which the summarized data appears in each block, or cell, of the crosstab.

Unlike fields you choose for column heading values and row category values, fields you choose to summarize are available for choosing more than once. The number of summary fields times the number of column values, however, cannot exceed 250.

See Also

The data model

Using the Define Crosstab dialog box

Specifying column headings

Specifying row headings or categories

Specifying summary operations

Changing the order of category and summary fields

Removing fields from the crosstab


Specifying Summary Operations

When you choose fields to summarize, Paradox chooses by default to sum numeric field data, to count unique alphanumeric (including dBASE character and logical) field data, and to count unique date field data. These default summary operations appear in the Summary drop-down list to the lower left of the Fields Used In area when you highlight each field in the Summaries panel.

If you do not want the default summary operation Paradox chooses for you, select the summary field in the Summaries panel whose summary operation you want to change. Then, choose one of the available summary operations for that field from the Summary drop-down list.

See Also

Using the Define Crosstab dialog box

Specifying the summary data


Changing the Order of Category and Summary Fields

When you choose more than one field to define the row categories and more than one field to summarize, these fields appear in the order you choose them in their respective Categories or Summaries panels. If you want to change the order of the category or summary fields, use the Change Order arrows at the bottom of the Field Used In area. These arrows become active when you select either Categories or Summaries and when you have more than one field in their panels.

Note:	You can always rearrange the categories or summaries in the Form Design window by dragging them to a different location.

See Also

Using the Define Crosstab dialog box

Specifying row headings or categories

Specifying the summary data

Removing fields from the crosstab


Removing Fields from the Crosstab

If you decide you want different fields than the ones you've chosen for column headings, row categories, and summaries, you can remove them with the Remove Field button.

To remove a field

1.	Select the field you want to remove in the Column, Categories, and Summaries panels.

2.	Choose Remove Field.

See Also

Using the Define Crosstab dialog box

Specifying column headings

Specifying row headings or categories

Specifying the summary data

Changing the order of category and summary fields


Generating the Crosstab or Returning to Form Design

After you finish specifying the fields for the crosstab to use, choose OK.

If you opened the Define Crosstab dialog box by doing a quick crosstab, Paradox generates the crosstab and displays it in a new Form window.

If you opened the Define Crosstab dialog box from the Form Design window, you return to the Form Design window. To run the crosstab from the Form Design window, choose Form | View Data or click the View Data SpeedBar button.

Note: You cannot generate the crosstab if you have not defined its fields---at least one field for either the column headings or row categories and at least one field to summarize. The OK button is not available until these minimal conditions are satisfied.

See Also

Using the Define Crosstab dialog box


Designing a Crosstab from the Form Design Window

A crosstab object in the Form Design window is a composite object made up of

Fields

A row area

A column heading area

A summary area

Each of these parts of the crosstab object has a unique properties menu. In addition, the crosstab object as a whole has a properties menu.

You can do all of the things you can do in the Define Crosstab dialog box and more by inspecting and choosing from each object's menu. To create a multi-table crosstab of a linked one-to-one relationship from the Form Design window, you must define the relationship with the data model first. Then, any object's menu that includes a Define Field choice will produce a menu including all valid fields from all tables in the relationship.

See Also

The data model

Inspecting the entire crosstab object

Inspecting column, row, and summary field objects

Generating the crosstab or returning to Form Design

Define Crosstab dialog box


Inspecting the Entire Crosstab Object

Right-click in the upper left corner of the crosstab object to inspect the whole object. When you inspect the entire crosstab object, you can

Generate a default crosstab

Open the Define Crosstab dialog box

Format the display of the entire crosstab

See Also

Inspecting column, row, and summary field objects

Generating a default crosstab

Opening the Define Crosstab dialog box

Formatting the entire crosstab


Generating a Default Crosstab

To generate a default crosstab from the Form Design window,

1.	Inspect the entire undefined crosstab object.

2.	Choose Define Crosstab from the properties menu.

3.	Choose the table of a single-table data model or the master table of a multi-table data model (detail tables will be dimmed) from the menu that appears.

Paradox chooses fields from the table automatically to supply the column headings, row categories, and summary data:

The unique values of the first non-BLOB field of the table become the crosstab's column headings.

The unique values of the second non-BLOB field of the table become the crosstab's row categories.

The values of the first non-BLOB field after the first and second fields of the table are summarized and become the summary data of the crosstab.

Note:	If there are only two fields in the table, Paradox creates a 1D crosstab.

See Also

The data model

One-dimensional crosstabs

Creating a crosstab

Designing a crosstab from the Form Design window


Opening the Define Crosstab Dialog Box

You might find it easier to choose fields in the Define Crosstab dialog box than to inspect objects in the Form Design window. In the Define Crosstab dialog box, you can choose more than one field at a time from the field menus of the tables in the data model. By contrast, you can only choose one field at a time from object properties menus.

To open the Define Crosstab dialog box from the Form Design window,

1.	Inspect the entire crosstab object.

2.	Choose Define Crosstab from its menu.

3.	Click the top of the Define Crosstab menu.

See Also

The data model

Using the Define Crosstab dialog box

Designing a crosstab from the Form Design window


Formatting the Entire Crosstab

Besides generating a default crosstab or opening the Define Crosstab dialog box, you can customize the display of the entire crosstab by inspecting it and choosing other options from its menu.

See Also

Inspecting the entire crosstab object

Using the Define Crosstab dialog box

Designing a crosstab from the Form Design window


Inspecting Column, Row, and Summary Field Objects

When you place a new crosstab object on a form in the Form Design window, the first column field, first row field, and first summary field each say Undefined Field. Inspect these field objects and choose Define Field from their menus to define one field at a time.

Opening the Define Field Object dialog box

You can choose the top of each Define Field menu to open the Define Field Object dialog box.

Formatting the display of fields

Besides choosing the fields whose values you want to be the column headings, row categories, and summarized data, you can format the display of the field by choosing other options from the field object's menu.

See Also

Inspecting the column area

Inspecting the row area

Inspecting the summary area

Inspecting the entire crosstab object

Designing a crosstab from the Form Design window


Inspecting the Column Area

You can inspect the column area (anywhere in the first row of the crosstab object except the column field object) to choose a field for the column headings or to format the display of the column area. Handles do not appear around the column area when you select it. This is because you cannot move it. You can, however, resize it by dragging the grid lines surrounding it.

See Also

Inspecting the row area

Inspecting the summary area

Inspecting the entire crosstab object

Designing a crosstab from the Form Design window


Inspecting the Row Area

You can inspect the row area (anywhere in the first column of the crosstab object except the row field object) to choose fields for the row categories or to format the display of the row area. Handles do not appear around the row area when you select it. This is because you cannot move it. You can, however, resize it by dragging its borders.

See Also

Inspecting the column area

Inspecting the summary area

Inspecting the entire crosstab object

Designing a crosstab from the Form Design window


Inspecting the Summary Area

You can inspect the summary area (anywhere in the data area of the crosstab object except the summary field object) to choose fields and summary operations or to format the display of the summary area. Handles do not appear around the summary area when you select it. This is because you cannot move it. You can, however, resize it by dragging its borders.

See also

Inspecting the column area

Inspecting the row area

Inspecting the entire crosstab object

Designing a crosstab from the Form Design window


Generating the Crosstab

If you've defined all of the elements of the crosstab yourself and want to see the result, view the form as you would any other form:

Click the View Data SpeedBar button

Press F8

Choose Form | View Data

Crosstab run-time errors

Paradox runs a query to calculate a crosstab's summary information. The process might fail if the resulting Answer table contains too many fields, or if you have inadequate disk space for the query. When the crosstab fails, an empty grid appears in its place.

See Also

Designing a crosstab from the Form Design window


What is a Graph?

Paradox graphs display information from your tables in a powerful visual format. Their visual impact makes graphs an important analytical tool; you can use graphs to draw conclusions quickly and see relationships in your data that you might otherwise miss. You can also view different kinds of graphs along the way as you work with your data.

When you create a graph, Paradox first cross-tabulates the data before it generates the visual representation of it. You should understand how crosstabs work before you work with graphs.

Graph Types

Tabular

Paradox's default graph type is tabular. A tabular graph measures the values in one numeric field within each category represented by the values in another field. These values are unique only if the x-value field is a key field. To make x-values unique when the field is not a key field, choose a one-dimensional summary graph type.

Note: The tabular graph is the only type of graph available in reports.

One-dimensional summary

A one-dimensional summary graph differs from a tabular graph, in that Paradox allows you to choose a type of summary operation to define the y-axis values. It also guarantees that x-values are unique.

Two-dimensional summary

A two-dimensional summary graph categorizes, or groups, the summary data being graphed by two fields' unique values.

See Also

Creating a graph

Multi-table graphs

Graphs of detail tables

What is a crosstab?

Designing a crosstab from the Form Design window


Multi-Table Graphs

As with crosstabs, you can create a graph that takes its information from more than one table. Establish the data model you want.

A graph can draw information from any number of tables that are linked in a single-valued relationship. For example, if you want to graph the number of items in stock by equipment class and by the vendor that supplies them, you can link the Stock and Vendors tables. You're then free to define the x-axis, y-axis, and summary data of the graph using any field from either table.

Note:	You can use fields from linked tables only if the link is single-valued. You cannot graph information from fields of tables linked in multiple-valued (1 [image] M) relationships.

See Also

The data model

What is a graph?

Creating a graph


Graphs of Detail Tables

You can create a summary graph based on data from a detail table in a multiple-valued (1 [image] M) relationship. As long as you've defined the linked relationship in the data model for the form or report, you can create a form or report that groups detail records by master record. Place the linking field(s) of the master table on the form or report with the graph object. Because of the data model, Paradox knows that the information in the graph applies only to the current record of the master table.

See Also

The data model

What is a graph?

Creating a graph


Creating a Graph

Unlike crosstabs, you can create graphs in reports as well as forms. (You can place only tabular style graphs in reports.) You can create a graph in one of two ways:

  Quick Graph

Open the table from which you want to derive a graph, then

Click the Quick Graph SpeedBar button

Press Ctrl+F7

Choose Table | Quick Graph

Form Design window or Report Design window

Create a new form or report for the table from which you want to derive a graph and, in the Form Design window or the Report Design window, click the Graph tool to place an undefined graph model on the form or report.

Note:	As with all SpeedBar buttons, you can specify prototype graph properties by inspecting the Graph SpeedBar button.

See Also

Using Quick Graph

What is a graph?

Using the Form or Report design windows and Graph tool

Designing the graph from the Form or Report design window


Using Quick Graph

To create a graph quickly

1.	Choose File | Open | Table to open the table you want to use for your graph.

2.	Click the Quick Graph SpeedBar button or press Ctrl+F7 or choose Table | Quick Graph. The Define Graph dialog box appears.

3.	In the Define Graph dialog box, specify the fields for the x-axis, y-axis, and, if you're creating a two-dimensional graph, for additional grouping.

4.	Choose OK. Paradox calculates and generates the graph in a new Form window or Report window. From this Form window or Report window, you can further modify the graph by

Clicking the Form Design or Report Design SpeedBar button

Pressing F8

Choosing Form | Design or Report | Design

See Also

Using the Define Graph dialog box

What is a graph?

Creating a graph


Using the Form or Report Design Windows and Graph Tool

To create a graph from the Form Design window or Report Design window,

1.	Choose File | New | Form or File | New | Report. The Data Model dialog box opens.

2.	Choose the table(s) you want to use for your graph. If you choose more than one table, define their relationship to one another.

3.	Choose OK. The Design Layout dialog box appears. Choose a blank layout.

4.	Choose OK again. A new Form Design or Report Design window appears.

5.	In either Design window, create a graph by clicking the Graph tool, then clicking the position on the form or report where you want to place the upper left corner of the graph object, and then dragging to the size and shape you want. An empty tabular graph object appears with undefined x-axis, y-axis, and graphed data.

Note: You can place a graph in the record band of a report only if it is the detail in a 1 [image] M data model, or if there is a table frame or multi-record object already in the record band.

6.	At this point, you can

Inspect the various undefined objects, such as the x-axis, y-axis, title, series, and background, to define and format them

Inspect the entire graph object to open the Define Graph dialog box and then define the graph in it.

See Also

The data model

Data Model dialog box

Define Graph dialog box

Using the Define Graph dialog box

Designing the graph from the Form or Report design window


Using the Define Graph Dialog Box

Use the Define Graph dialog box, to

Choose which type of data you're graphing---tabular, one-dimensional summary, or two-dimensional summary.

Specify the field whose values you want to use as x-axis values.

Specify the field(s) whose values you want to graph against the y-axis (the different series of the graph).

If you're creating a two-dimensional summary graph, specify an additional field whose values you want to group the graphed summary data by.

If you're creating either a one-dimensional or two-dimensional summary graph, specify the type of summary operation to perform on each Y-Value field you choose.

See Also

Choosing the graph's data type

Specifying X-Axis values

Specifying the Y-Axis

Specifying an additional grouping field in a 2-D summary graph

Changing the order of tabular and 1-D summary Y-Value fields

Removing fields

Define Graph dialog box


Choosing the Graph's Data Type

In the lower left corner of the Define Graph dialog box, select the data type of the graph:

Tabular (the default)

1-D Summary

2-D Summary

The Field Used In area on the right side of the dialog box changes, depending on which data type you choose.

Tabular

For a tabular graph, you can specify

One field for x-axis values

As many remaining available fields as you want to define the y-axis, each representing a series in the graph

One-dimensional summary

For a one-dimensional summary graph, you can specify

One field for x-axis values

As many remaining available fields as you want, to define the y-axis. The values are summarized, and each group of summary values represents a series in the graph

The summary operation to perform on each Y-Value field

Two-dimensional summary

For a two-dimensional summary graph, you can specify

One field for x-axis values

One other field, the values of which are summarized, to define the y-axis

One other field to group by

See Also

Specifying X-Axis values

Specifying the Y-Axis

Specifying an additional grouping field in a 2-D summary graph


Specifying X-Axis Values

When you first open the Define Graph dialog box, X-Axis is selected by default in the Field Used In area. With X-Axis selected, choose a field from the drop-down menu of the table whose unique values you want to be the X-Axis values. You can only choose one field to supply X-Axis values for all three data types---tabular, one-dimensional summary, and two-dimensional summary.

See Also

Specifying the Y-Axis

Specifying an additional grouping field in a 2-D summary graph


Specifying the Y-Axis

With Y-Value selected, choose the field(s) from the drop-down menu of the table whose values you want to define and be graphed according to the Y-Axis measure. (You cannot choose the same field for X-Axis values and Y-Value data. If you've already chosen a field from this table to supply the X-Axis values---or additional grouping values if you're creating a two-dimensional summary graph---that field will be dimmed in the menu.)

Tabular Y-Axis

If the data type of the graph is tabular, you can choose only numeric fields to define the Y-Axis. Fields of the table that are not numeric will be dimmed in the field menus.

One-dimensional summary Y-Axis

If the data type of the graph is one-dimensional summary, you can choose any and as many of the table's available and valid fields to define the Y-Axis. When you choose a Y-Axis field, Paradox automatically couples it with a default summary operation.

Paradox chooses by default to sum numeric field data, to count unique alphanumeric (including dBASE character and logical) field data, and to count unique date field data. These default summary operations appear in the Summary drop-down list to the lower left of the Field Used In area when you highlight each field in the Y-Value panel.

If you do not want the default summary operation Paradox chooses by default, select the summary field in the Y-Value panel whose summary operation you want to change. Then choose one of the available summary operations for that field from the Summary drop-down list.

Two-dimensional summary Y-Axis

If the data type of the graph is two-dimensional summary, you can choose any one of a table's available and valid fields to define the Y-Axis. When you choose the Y-Axis field, Paradox automatically couples it with a default summary operation.

See Also

Specifying X-Axis values

Specifying an additional grouping field in a 2-D summary graph

Specifying summary operations

Changing the order of tabular and 1-D summary Y-Value fields


Specifying an Additional Grouping Field in a 2-D Summary Graph

If the data type of the graph is two-dimensional summary, you can choose any one of a table's available and valid fields to group the summary data by. The data is also grouped by the X-Axis categories. With Grouped By selected, choose from the drop-down menu of the table (in the data model) whose field you want to group the summary data by. (You cannot choose the same field for X-Axis values, for Y-Value data, and for an additional grouping. If you've already chosen fields from this table to supply the X-Axis value and the Y-Axis value, those fields will be dimmed in the menu.)

See Also

The data model

Specifying X-Axis values

Specifying the Y-Axis


Changing the Order of Tabular and 1-D Summary Y-Value Fields

With tabular and one-dimensional summary graphs, you can choose more than one field to define the Y-Axis. These fields appear in the order you choose them in the Y-Value panel of the Define Graph dialog box. Their order determines the series each will be in the graph. The first field's values will be the first series, the second field's values will be the second series, and so on.

If you want to change the order of these fields, thus changing their series number, use the Change Order arrows at the bottom of the Field Used In area. These arrows become active when you're defining a tabular or one-dimensional summary graph, when you have Y-Value selected, and when you have more than one field in the Y-Value box.

See Also

Specifying X-Axis values

Specifying the Y-Axis

Specifying summary operations

Define Graph dialog box


Removing Fields

If you decide you want different fields than the ones you've chosen for X-Axis, Y-Value, and Grouped By, you can remove them with the Remove Field button. Select the field you want to remove in the X-Axis, Y-Value, and Grouped By panels and choose Remove Field.

See Also

Specifying X-Axis values

Specifying the Y-Axis

Specifying summary operations

Changing the order of tabular and 1-D summary Y-Value fields


Designing the Graph from the Form or Report Design Window

A graph object in the Form Design window or the Report Design window is a composite object made up of

An x-axis area

A y-axis area

Separate series areas

A title area

A background area

Additionally, certain graph types have

Separate slice areas

A legend area

Walls

Each of these parts of the graph object has a unique properties menu. In addition, the graph object as a whole has a properties menu.

You can do all of the things you can do in the Define Graph dialog box and more by inspecting and choosing from each object's menu. To create a multi-table graph of a linked one-to-one relationship from the Form Design or Report Design window, you must define the relationship with the data model first. Then, any object's menu that includes a Define Field choice will produce a menu including all valid fields from all tables in the relationship.

See Also

The data model

Inspecting the entire graph object

Inspecting the X-Axis

Inspecting the Y-Axis

Inspecting series

Inspecting the title area

Inspecting the background


Inspecting the Entire Graph Object

When you inspect the entire graph object, you can

Change the data type of the graph

Generate a default graph

Open the Define Graph dialog box

Format the display of the entire graph, including changing the graph type

Note:	Unlike when you select individual field objects in a form or report or when you select the entire graph object, handles do not appear around separate graph areas when you inspect them. This is because you cannot move the individual components of the graph object.

See Also

Changing the data type

Generating a default graph

Opening the Define Graph dialog box

Customizing the entire graph


Changing the Data Type

To change the data type of the graph from the Form Design or Report Design windows:

1.	Inspect the entire undefined graph object.

2.	Choose Data Type from its menu.

3.	Choose the data type you want (Tabular, 1D Summary, or 2D Summary) from the Data Type menu.

Changing the data type causes the graph object to change. Choices on objects' menus change according to data type as well.

See Also

Inspecting the entire graph object


Generating a Default Graph

You can generate a default graph from the Form Design or Report Design windows:

1.	Inspect the entire undefined graph object.

2.	If you have not already changed the data type and want a default one-dimensional or two-dimensional summary graph, choose Data Type and then 1D Summary or 2D Summary. Then inspect the entire undefined graph object again.

3.	Choose Define Graph from the properties menu.

4.	Choose the single table of a single-table data model or the master table of a multi-table data model (detail tables will be dimmed) from the menu that appears.

5.	Click the View Data SpeedBar button or press F8 or choose Form | View Data or Report | View Data to generate the default graph in a form or report.

Paradox automatically chooses fields from the table to supply the x-axis values, the values to define and be graphed according to the y-axis, and, if you chose a two-dimensional summary graph, the values to group by.

In a default tabular graph

The values of the first field of the table become the graph's x-axis values

The values of all the numeric fields after the first field of the table

Define the graph's y-axis measure

Become the graph's first, second, and so on series, graphed according to the y-axis measure and divided into groups by the categorical values of the x-axis

In a default one-dimensional summary graph

The unique values of the first field of the table become the graph's x-axis values

The values of all the fields (numeric, alphanumeric, and date, but not BLOB) after the first field of the table

Are summarized if they're numeric and counted if they're alphanumeric (including dBASE character or logical) or date

Define the graph's y-axis measure

Become the graph's first, second, and so on series, graphed according to the y-axis measure and divided into groups by the categorical values of the x-axis

In a default two-dimensional summary graph

The unique values of the first field of the table become the graph's x-axis values

The unique values of the second field of the table become the graph's additional grouping values

The values of the third field (numeric, alphanumeric, and date, but not BLOB) of the table

Are summarized if they're numeric and counted if they're alphanumeric (including dBASE character or logical) or date

Define the graph's y-axis measure

Become the graph's only series, graphed according to the y-axis measure and divided into groups by the categorical values of the x-axis and additional grouping field

See Also

The data model

Inspecting the entire graph object


Opening the Define Graph Dialog Box

You might find that it is easier to choose fields in the Define Graph dialog box than it is to inspect objects in the Form Design or Report Design windows. In the Define Graph dialog box, you can choose more than one field at a time from the field menus of the tables in the data model. By contrast, you can only choose one field at a time from object properties menus.

To open the Define Graph dialog box from the Form Design or Report Design windows,

1.	Inspect the entire graph object.

2.	Choose Define Graph from the properties menu.

3.	Click the header area of the Define Graph menu to open the Define Graph dialog box.

See Also

The data model

Inspecting the entire graph object

Using the Define Graph dialog box


Customizing the Entire Graph

Besides changing the data type, generating a default graph, or opening the Define Graph dialog box, you can format the display of the entire graph by inspecting it and choosing other options from its menu. In particular, you can choose the type of graph you want.

See Also

Inspecting the entire graph object


Inspecting the X-Axis

When you place a new graph object on a form or report, the X-Axis says X-Undefined. Inspect the X-Axis area and choose Define X-Value from its menu to choose one field to supply X-Axis values.

Besides choosing the field whose values you want to be the X-Axis values, you can format the X-Axis' title and ticks (and scale for xy graphs) by inspecting the X-Axis area and choosing these options from its menu.

See Also

Inspecting the entire graph object

Inspecting the Y-Axis

Inspecting the title area

Inspecting the background


Inspecting the Y-Axis

When you place a new graph object on a form or report, the Y-Axis says Y-Undefined. Inspect the Y-Axis area to choose a field or fields, depending on the data type of your graph.

Tabular or one-dimensional summary Y-Axis values

While the data type of the graph is tabular or one-dimensional summary, the Y-Axis menu contains Define Y-Value. Choose Define Y-Value to choose as many fields as are available and valid and whose values you want to define and be graphed according to the Y-Axis.

If you're creating a tabular graph, you can choose only numeric fields for the Y-Value. If you're creating a one-dimensional summary graph, you choose the type of summary operation you want applied to a Y-Value field at the same time you choose it. Each type of summary operation allowed by each field type is coupled with the field in the menu. If a field's type allows more than one type of summary operation, each summary operation appears with that field in the menu.

Two-dimensional summary Y-Axis value

When the data type of the graph is two-dimensional summary, the Y-Axis menu contains Define Y-Value. Choose Define Y-Value to choose one field whose values you want to define and be graphed according to the Y-Axis.

Title, scale, and ticks

Besides choosing the field(s) whose values you want to define the Y-Axis, you can format the Y-Axis title, scale, and ticks by inspecting the Y-Axis area and choosing these options from its menu.

See Also

Inspecting the entire graph object

Inspecting the X-Axis

Inspecting the title area

Inspecting the background


Inspecting Series

When you place a new graph object on a form or report, undefined series appear in the undefined object. Inspect these series separately to choose a field to define them and to format their display. To choose a field, choose Define Y-Value from the series' menu.

Tabular or one-dimensional summary y-axis values

While the data type of the graph is tabular or one-dimensional summary, you can add more series to the original undefined ones by inspecting the y-axis area, choosing Define Y-Value from its menu, and choosing additional fields from the Define Y-Value menu.

Two-dimensional summary y-axis values

While the data type of the graph is two-dimensional summary, you can only choose one field for the single series allowed for this data type.

Formatting the series, including type override

Besides choosing the field whose values you want to be the particular series' values, you can format that series' display by choosing display options from its menu. In particular, you can choose Type Override with some graph types to make one series a different type from the rest. For example, in a 2D Bar graph you might make one series a 2D Line.

See Also

Inspecting the entire graph object

Inspecting the X-Axis

Inspecting the Y-Axis

Inspecting the title area

Inspecting the background


Inspecting the Title Area

When you place a new graph object on a form or report, the title is Undefined Graph. Inspect the title area to

Generate a default graph

Open the Define Graph dialog box

If you're creating a two-dimensional summary graph, choose a field whose values you want to group the summary values by

Define a title

Define a subtitle

Format the display of the title area

To generate a default graph or open the Define Graph dialog box, inspect the title area and choose Define Graph from its menu.

Choosing a field to group by for a two-dimensional summary graph

When the data type of the graph is two-dimensional summary, the title area's menu contains Define Group. This choice is not on this menu when the data type is tabular or one-dimensional. If you're creating a two-dimensional summary graph, choose Define Group to choose one field whose unique values you want to group the summary data by. The summary data is also grouped by the categories of the x-axis values.

Title, subtitle, and display format

You can define the title and a subtitle and format the display of the title area by inspecting it and choosing these options from its properties menu.

See Also

Inspecting the entire graph object

Inspecting the X-Axis

Inspecting the Y-Axis

Inspecting the background


Inspecting the Background

Inspect the background of the graph to format its display. Choose display options from its properties menu.

See Also

Inspecting the entire graph object

Inspecting the X-Axis

Inspecting the Y-Axis

Inspecting the title area


Design Tasks

These functions and tools are the same regardless of the type of design you are working on:

Aligning objects

Containing objects

Pinning objects on a form

Pinning objects on a report

Expanded ruler

Grouping objects

Moving objects

Saving the design

Using the Sidebar

Stacking objects

Using the Clipboard

Zooming


Aligning Objects

Paradox provides a variety of alignment tools, including Properties | Snap To Grid and Design | Align.

Properties | Snap To Grid

If Snap To Grid is checked on the Properties menu, objects jump to the next minor division of the grid when you move or resize them. An object aligns by its upper left corner or by the edge you are resizing. If an object cannot move to that position (because it is blocked by the edge of its container, for example), it will get as close as possible.

Note:	The grid has no influence on the position of objects contained in text.

To see the grid, choose Properties | Show Grid. To change the grid setting, choose Properties | Grid Settings.

Design | Align

Use Design | Align to line up two or more selected objects. Align does not work on objects contained in text. Shift-click to select the objects.

Use:	To:

Design | Align | Left	Move each object so that its left side aligns with the left side of the leftmost object.

Design | Align | Right	Move each object so that its right side aligns with the right side of the rightmost object.

Design | Align | Center	Move each object to align their midpoints vertically.

Design | Align | Top	Move each object so that its top aligns with the top of the highest  object.

Design | Align | Bottom	Move each object so that its bottom aligns with the bottom of the lowest object.

Design | Align | Middle	Move each object to align their midpoints horizontally.

Note:	You cannot do vertical aligns on objects in different report bands.

If Snap To Grid is on, Paradox moves the objects to the closest grid point possible. If an object cannot move to that grid interval without leaving its current container, it does not move.

If an object is contained by another object, aligning it will not break the container relationship.

See Also

Snap To Grid

Properties | Show Grid

Properties | Grid Settings

Design | Align


Containing Objects

When one object exists completely within the borders of another, it can be "contained" by the outside object. Contained objects move when you move their containers and are deleted when you delete their containers. To be a container, an object must have Contain Objects checked on its Design menu. Otherwise, objects within its borders remain independent of it.

To make one object contain another, you can either

Create an object within the boundaries of an existing object.

Move an existing object completely within the boundaries of another object.

Move or resize a container around an object.

Paste an object into another.

All objects that can use the Design | Contain Objects property have it checked by default. If you uncheck this property for a container, it moves independently of any objects within its boundaries. When this property is checked, all objects within the object's boundaries automatically become contained by it. You cannot change the Contain Objects property on some objects (tables, records, fields, pages, bands in reports, multi-record objects, and crosstabs) that might not be able to find a new container.

Tip:	If you have Snap To Grid checked, it may be difficult to have one object contain another because both objects might try to align on the same grid line. In this case, resize one or both of the objects so they snap to different grid lines, or uncheck Snap To Grid.

Tab order

The containership hierarchy influences tab order because users must tab to all objects within a container before tabbing out of the container. In forms, you can use this property to affect tab sequence.

To examine the containership hierarchy of your design, use the Object Tree button.

See Also

Creating a contained object

Breaking a container relationship

Deleting objects in container relationships

Object Tree button

Tab Stop


Creating a Contained Object

To create a contained object,

1.	Select the container object and inspect its properties (right-click it). Make sure the Design | Contain Objects property is checked .

2.	Place the object you want to contain inside the container object. Either

Create a new object inside the boundaries of the container.

Move an existing object inside the boundaries of another object.

Move or resize the container around an object.

Paste an object into another.

The contained object must be completely within the borders of the container object. If the container object has a frame, the contained object must be completely within the frame. If you have Snap To Grid on, and are using a very coarse grid, this might make it difficult to contain objects, since lining up exactly on an edge does not let the smaller object lie within the frame.

Tip:	You can contain objects in tables only if they fit fully within a column and row. If you remove a field from a table, it can be very difficult to put it back if the cell it left was exactly sized to fit (as they are by default). In such a case, try widening the column slightly and making the row slightly larger.

See Also

Containing objects

Breaking a container relationship

Deleting objects in container relationships


Breaking a Container Relationship

To break a container relationship, you can either

Inspect the container object and uncheck Design | Contain Objects.

Select the contained object and move it outside the border of the container.

It's not necessary to move the contained object completely outside the container borders. The relationship is broken when one part of the contained object is moved outside the container frame.

See Also

Containing objects

Creating a contained object

Deleting objects in container relationships


Deleting Objects in Container Relationships

Keep these two rules in mind when you delete objects in container relationships.

Deleting a container deletes any objects contained in it.

Deleting a contained object does not affect its container.

To delete a container but not the contained objects, you can either

Uncheck the container's Contain Objects property and then delete the container.

Multi-select the contents and move them out or cut them to the Clipboard, then delete the container, and move or paste the contained objects back.

See Also

Containing objects

Creating a contained object

Breaking a container relationship


Copying Design Objects

You have two ways to copy an object in Paradox design windows. Choosing Edit | Copy places the selected object on the Clipboard. It can later be pasted where you want it. This takes two steps: one to copy and one to paste.

If you select an object, then choose Design | Duplicate, Paradox copies and pastes the selected object all in one step. A duplicate of the object appears adjacent to the original object. The object is not placed on the Clipboard.

Note:	You can duplicate objects only within the same window, not from one window to another.


Pinning Objects on a Form

You can move almost any object in a form design. This gives you the ability to put an object just where you want it. Suppose you've positioned something just right and you want to be sure you do not accidentally move it again. You can inspect it and choose Design | Pin Horizontal or Design | Pin Vertical from its menu.

When you pin an object horizontally (choose Design | Pin Horizontal), you can move it up or down on the design, but not left or right.

When you pin an object vertically (choose Design | Pin Vertical), you can move it left or right across the design, but not up or down.

Check both Pin Horizontal and Pin Vertical to keep an object from moving in either direction.

Pinning prevents accidental movement but does not block internally generated moves, such as when you use Align.

You pin an object within its container. You can still move the object by moving its container. Pinning has no influence on objects contained in text. If you move or resize over a pinned object, you will not cause the pinned object to become contained in the resized object, even if it is fully within its boundaries.


Pinning Objects on a Report

In designing reports, you can

Fix an object so it does not move in the design window but adjusts when the document is printed. Inspect the object and choose Design | Pin Horizontal or Design | Pin Vertical from its menu.

Keep the object movable in the design but make it fixed when you print it. Inspect the object and choose Run Time | Pin Horizontal or Run Time | Pin Vertical from its menu.

Pin Horizontal lets an object move up or down, but not left or right. Pin Vertical lets an object move left or right, but not up or down. Check both Pin Horizontal and Pin Vertical to keep an object from moving in either direction.

Use the Design Pin property when you want to fix an object in a design but allow it to be pushed or pulled by expansion or contraction of neighboring objects when the document is printed or previewed.

Use the Run Time Pin property when you want to be able to move the object on a design but you do not want it to be pushed around by expanding objects when the document is printed or previewed.


The Expanded Ruler

The expanded ruler is a text editing and layout tool. Use it to adjust margins, tabs, line spacing, and text alignment.

To turn on the expanded ruler, choose Properties | Expanded Ruler. Make sure Properties | Horizontal Ruler is checked, as well.

To use the expanded ruler, first select a text object. Default tabs are a half inch apart.

Adding tabs

To add a tab marker to the ruler, click a Tab button, then click in the tab well to place the tab marker. Paradox deletes default tabs to the left of tab markers you place.

The types of tabs available are

  Left	Text following the tab is pushed right so that its left edge lines up under the tab marker. This is the usual tab type.

  Right	Text following the tab is pushed left so that its right edge lines up under the tab marker.

  Center	Text following the tab is centered under the tab marker.

  Decimal	Decimal points line up under the tab marker.

To move a tab you've placed, drag it to a new location. To delete a tab you've placed, drag it away from the ruler. You cannot move or delete the default tabs.

Adding indentations

Use indent markers to place indents and create hanging paragraphs. To place an indent, drag the indent marker to the location in the tab well you want. When the indent marker is to the right of the margin marker, the paragraph is indented. When the indent marker is to the left of the margin marker, the paragraph is outdented. Move an indent marker after placement by dragging it.

Changing alignment

Paradox establishes the default margins of text by the location of your text object. By default, text is aligned along the left edge of the object.

To change the alignment, select one of the layout buttons on the expanded ruler: left, centered, right, or justified. If no text is selected, the next text you type will be aligned the way you chose.

Changing vertical line spacing

Text in a text object is single-spaced by default.

To adjust this, click the line spacing you want for the selected text. If no text is selected, the next text you type will be spaced the way you chose. Choose 1 for single-spaced text, 2 for double-spaced, and so on.

Note:	The expanded ruler applies only to one text object at a time. When you select the whole text object, the expanded ruler's settings apply to all the text within it. The tab, indent, and margin markers are displayed only when you place an insertion point in a text object, and apply only to the text object in which you are working. When you select specific text and change settings, the changes apply only to the selected text.


Grouping Objects

You can define separate objects as a group that behaves as one object during certain operations.

To group objects,

1.	Shift-click to select the objects.

2.	Choose Design | Group.

Groups can exist within other groups. You can select a group and other objects, then group them together at a higher level. The first group remains intact within the larger group.

To separate the objects, choose Design | Ungroup or inspect the group and choose Ungroup.

Groups act like other containers, except they contain only the objects you selected. They are especially useful if you want some objects to act like a unit, even if other objects are located among them.

Groups are very useful in influencing tab order in forms. Paradox's default tab order moves to every object contained within an object before moving outside the container object. You can use groups to change this tab order when you want to move among specific objects more quickly.

Note:	You cannot use Edit | Undo if you group or ungroup some objects by mistake. You must use Edit | Group or Edit | Ungroup (or inspect the group and choose Ungroup).

See Also

The Group properties menu on a form

The Group properties menu on a report


The Group Properties Menu on a Form

Use the options on the Group properties menu to change the appearance and function of a group of objects on a form.

Choose:	To:

Ungroup	Ungroup the objects.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevents left and right movement. Choose this Design Pin property when you want to fix the group in a design so that it will not be moved left or right by accidental mouse clicks.

Pin Vertical: Prevents up and down movement. Choose this Design Pin property when you want to fix the group in a design so that it will not be moved up or down by accidental mouse clicks.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. Paradox applies these properties to a group only when you view or edit the form:

Visible: Lets you see the group when you run the form. Turn this option off if you want Paradox to hide the group when you run the form.

Paradox applies Run Time properties to a group only when you view or edit the form.

Methods	Display ObjectPAL methods (forms only).


The Group Properties Menu on a Report

Use the options on the Group properties menu to change the appearance and function of a group of objects on a report.

Choose:	To:

Ungroup	Ungroup the objects.

Design	Display the Design menu.  Use these options to determine how objects behave in a design window:

Pin Horizontal: Prevents left and right movement. Choose this Design Pin property when you want to fix the group in a design so that it will not be moved left or right by accidental mouse clicks.

Pin Vertical: Prevents up and down movement. Choose this Design Pin property when you want to fix the group in a design so that it will not be moved up or down by accidental mouse clicks.

Selectable:  Allows an object to be selected by clicking on the object.  When this option is toggled off, the object cannot be selected. You can still select any objects it may contain, and you can still inspect it.

Run Time	Display the Run Time menu. Paradox applies these properties to a group only when you run (view or print) the document:

Pin Horizontal: Prevents left and right movement. Choose this Run Time Pin property when you want to be able to move the group on a design, but you do not want it to be pushed or pulled (left or right) by the expansion or contraction of neighboring objects when the document is printed.

Pin Vertical: Prevents up and down movement. Choose this Run Time Pin property when you want to be able to move the group on a design, but you do not want it to be pushed or pulled (up or down) by the expansion or contraction of neighboring objects when the document is printed.

Breakable: Lets the contents of the group break at page breaks. Turn this option off if you want to keep the contents of the group together on the same page.


Moving Objects

To move objects on a document,

With a mouse:

1.	Select the object.

2.	Drag the object to its new position.

With the keyboard:

1.	Use Tab to highlight the object.

2.	Use the arrow keys to move the object to its new position.

Note:	You can also move objects indirectly by using Design | Align or Design | Adjust Spacing.


Saving the Design

Choose File | Save to save a design.

When you close a design window, exit Paradox, or change the working directory, Paradox prompts you with a dialog box. If the design is new or has been changed since the last time it was saved, you can save changes, abandon them, or cancel the command.

You must save design documents from their design windows. When you save a design document, you're saving the design itself, not the data. Paradox automatically saves data to the appropriate table when you leave each record.

See Also

File | Save


File is New. Save It?

Use this dialog box to save a document or query before closing the file. It appears when you close a document you have not yet named.


File Has Changed. Save It?

Use this dialog box to save a document or query before closing the file. It appears when you close a document you have changed but not saved.


Sidebar
Using the Sidebar

The sidebar appears on the left side of Paradox Report design windows and indicates page breaks.

Use the sidebar to insert, move, or delete page breaks. To insert a page break, click in the sidebar where you want the page break to appear. A line appears across your document, and a page break marker [image]  appears in the sidebar. To move a page break, drag the page break marker to the new location. To delete a page break, drag the marker off the sidebar.


Stacking Objects

You can stack objects in your design document on top of or underneath other objects.

To change the order of objects or groups of objects, use the following commands from the Edit menu:

Choose:	To:

Bring To Front	Move a selected object to the top position, above all other objects. If you select a group of objects and choose Bring To Front, the internal ordering of the group is maintained and the entire group is brought to the top position.

Send To Back	Move a selected object or group of objects behind any other objects.

Bring To Front and Send To Back change only the order within a container.

If your objects have transparent colors, it is often hard to tell which order they are in.

Tab order in the design windows corresponds to stacking order (Back To Front). You can use these commands to adjust your tab order if you like.


Using the Clipboard

When you cut or copy an object using Edit | Cut or Edit | Copy, Paradox stores the object in the Clipboard. You can paste these stored objects from the Clipboard back into Paradox designs or into other Windows applications.

The Clipboard stores only one image at a time. Each time you place an object on the Clipboard, Paradox discards the previous image.

Deleting objects

When you delete an object using Edit | Cut, Paradox saves it to the Clipboard.

However, if you delete an object by selecting it and pressing Del, the object is not saved and cannot be pasted from the Clipboard. To retrieve it, choose Edit | Undo immediately.

Edit | Undo does not work for Clipboard actions, like cut, copy, and paste. To undo a paste, delete the pasted object. To undo a cut, paste the object back in. You cannot undo a copy.


Zooming

Use Properties | Zoom to change the scale of a form or report onscreen. You can zoom out (decrease the scale and see a larger area) or zoom in (increase the scale and see part of the document up close).

To take a step back from your document, choose 25% or 50%.

To take a closer look at your document, choose 200% or 400%.

There are also three automatic zoom sizes:

Fit Width	Fits the width to the window

Fit Height	Fits the height to the window

Best Fit	Fits the entire document to the window


Multi-Table Documents

Using Paradox, you can create design documents that draw upon information contained in more than one table. To do this you identify the tables you want to use, then define the relationship between the tables.

See Also

Using links between tables

Data Model dialog box

Adding tables to the data model

Linking tables

Types of links

Modifying a link

Removing links

Removing tables from the data model


Using Links Between Tables

You could place fields from two or more unrelated tables in a design, but it is more common to relate the data from the tables. You do this through links.

You create links on common fields. For example, the Customer table has a Customer No field and the Orders table has a Customer No field, so you can link these two tables on that field.

In Paradox tables, the field name does not have to be the same in both tables, but the field type and size must match.

In dBASE tables, you can link only on like field types, unless you use an expression index in the link.

Links work in one direction. One table is the master table and the other is the detail table. The detail table must have an index on the field you are using to create the link. For example, you can link the Customer table to the Orders table on the Customer No field if you have an index on that field. This would be a one-to-many link because for every customer record, you could have zero or more corresponding records in the Orders table. Or, you can link the Orders table to the Customer table on the Customer No field (the primary index of the Customer table). This would be a many-to-one link, because for every order, there is one and only one corresponding record in the Customer table.

To set up the links for your design, use the Data Model dialog box.

See Also

Linking tables

Links and indexes

How Paradox uses indexes

Data Model dialog box


Links and Indexes

To understand how Paradox links tables in design documents, you must first understand how Paradox sorts and locates data based on the indexes (keys and secondary indexes) you specify.

The tables you want to link must have a common field. The field name does not have to be the same in both tables, but the field type and size must match.

Take the example of Customer and Orders. The Customer No field in the Orders table contains values that represent records in the Customer table. When you link Customer and Orders, Paradox looks at each value in the Customer No field of Customer and finds matching values in the Customer No field of Orders. An index gives Paradox an easy way to find the matching values in Orders. You must have an index on the detail table to form a link, so that Paradox can find the matching values.

See Also

Linking tables

Key fields

Secondary index

How Paradox uses indexes


How Paradox Uses Indexes

An index is the tool Paradox uses to remember where values are. When you specify a secondary index on a field, Paradox looks at each value in the field and creates a file that notes each value's location (record number) in the table. This makes it easy and fast for Paradox to find the value you ask for. If you create a maintained index, Paradox automatically updates the index file every time you update the table.

When you link two tables, you ask Paradox to evaluate a value in the table you're linking from (the master table) and find all matching values in the table you're linking to (the detail table). This means the detail table must be indexed on the field you use in the link.

You can also create links between tables using a primary key on the detail table.

See Also

Linking tables

Key field

Secondary index


Types of Links

You can link tables through either

Single-valued relationships (one-to-one or many-to-one)

Multi-valued relationships (one-to-many)

See Also

Linking tables

Single-valued relationships

Multi-valued relationships


Single-Valued Relationships

One-to-one

A single-valued relationship exists between tables if, for every record in one table, no records or only one record from another table is related to it. For example, the relationship between Lineitem and Stock is single-valued. Each line item ordered (each unique value in Lineitem) is one item of stock (a unique value in Stock).

When tables in Paradox have a single-valued link, Paradox treats the fields in both tables much as if they came from the same table. You can group on tables joined by a single-valued relationship. They can be displayed in the same table object or multi-record object, for example.

Many-to-one

In a many-to-one relationship, many records in the master table are related to one value in the detail table. For example, the Contacts table lists employees at each of the businesses found in the Customer table. Several employees can work at the same business, so many Contacts records point to the same Customer value.

See Also

Linking tables

Multi-valued relationships


Multi-Valued Relationships

A multi-valued relationship exists between tables if, for every record in one table, no records, one record, or more than one record from another table is related to it. For example, one customer (one unique value in the Customer table) can place one or many orders (unique values in the Orders table). This means that each record in the Customer table can have one or many records in the Orders table that match it. This is a one-to-many relationship.

See Also

Linking tables

Single-valued relationships


Linking Tables

You link tables in the Data Model dialog box.

Opening the Data Model dialog box

You can open the Data Model dialog box in one of these ways:

From the Desktop, choose File | New, then choose the type of document you want to design.

From a design window, choose the Data Model button, or choose Form | Data Model or Report | Data Model.

From any of the Define dialog boxes (Define Field, Define Table, Define Graph, and so on), choose the Data Model button.

From the Select File dialog box you see when you choose File | New | Query, choose the Data Model button.

To link two Paradox tables,

1.	In the data model panel of the Data Model dialog box, position the pointer over the master table. The pointer becomes a linking [image]  tool.

2.	Drag to draw a line from the master table to the detail table. The pointer changes to a linking tool when you pass it over the detail table.

3.	Release the mouse. Paradox displays the Define Link dialog box.

If Paradox finds two fields with the same name and type, it automatically draws a link. You can choose OK to accept this link, or you can override it with a different link in the next step.

4.	To define the link yourself, choose the detail table index you want from the Index list. Then choose the master table field you want from the Field list.

Paradox draws a line between the field and the index, and places an arrow between the two table names.

6.	Choose OK to accept the link. Paradox returns you to the Data Model dialog box.

Note:	You cannot create a link using a BLOB field.

If you've established referential integrity between two Paradox tables you're linking, Paradox automatically links them according to the referential integrity specification. In this case, you bypass the Define Link dialog box.

See Also

Data Model dialog box

Define Link dialog box

Types of links

Defining referential integrity rules


Data Model Dialog Box

Use the Data Model dialog box to specify which tables you want to bind to documents and how they are linked to each other. To open the Data Model dialog box, choose File | New  from the Desktop and the type of document you want to design.

Dialog Box Options

File Name

Select the table you want to be the master table, or leave this undefined. Click the Add Table arrow [image]  or press Alt+A to place the selected table in the data model panel. Similarly, select other tables you want to attach to the document. Click the Remove Table arrow [image]  or press Alt+D to remove tables from the list. Once you've placed a table in the data model panel, you can inspect it.

Note: In the data model panel, if a table name has an asterisk, that means a field from that table is bound to an object on the document.

Path

To see other tables, choose an alias or your private directory. Or choose Browse to open the Browser. The tables you choose do not have to be in the same directory.

Type

Choose <Tables> or <Queries>. The Path file list shows all tables or queries in the working directory.

Link

To change the way two tables are linked, select the detail table and choose Link to display the Define Link dialog box. From there, choose Unlink to break the existing link, then specify the link you want.

Unlink

To remove an existing link, select the detail table in the data model panel and choose Unlink.

See Also

Designing documents

Adding tables to the data model

Inspecting tables in the data model

Linking tables

dBASE linking combinations

Browser


Inspecting Tables in the Data Model

Once you've placed a table in the data model panel of the Data Model dialog box, you can inspect it.

If you're designing a report, you see a menu of the table's fields names, types, and sizes.

If you're designing a form, you see these properties:

Fields	Shows a list of the table's field names, types, and sizes.

Order/Range	Opens the Order/Range dialog box, where you can set a filter for the table to view only the data that meets your specifications.

Read-Only	Protects the table from being edited in this document. You can still edit the table in other documents or in its Table window.

Strict Translation	Limits your character set to those characters easily translated from one language driver to another.

See Also

Data Model dialog box


dBASE Linking Combinations

You can link dBASE tables

Only on like field types unless you use an expression index in the link.

Only on maintained indexes (not .NDX files).

When working with dBASE indexes, it's recommended that the index on your master table be a unique index. Paradox treats dBASE maintained, unique indexes like Paradox primary keys. If you structure your master table this way, your dBASE data model will work just like Paradox data models.

You can link dBASE tables using a combination of fields, single-field indexes in the .MDX file, and expression indexes. Valid dBASE links are

From	To

Field	Expression index

Field	Single-field index

Master Expression	Expression index

Master Expression	Single-field index

See Also

Linking tables


Define Link Dialog Box (Paradox)

Use the Define Link dialog box to define a link more specifically than you can in the Data Model dialog box. To open the Define Link dialog box, draw a link between tables in the Data Model dialog box.

Dialog Box Options

Field

Choose the master table field you want from the Field list. Click the Add Field arrow [image] or press Alt+A to place the selected field in the link diagram panel. Click the Remove Field arrow [image] or press Alt+D to remove a field from the diagram.

Link diagram area

The field you select from the Field list appears below the table name in the link diagram panel of the dialog box. If Paradox finds an index of the detail table that matches the name and type of field you chose, it completes the link for you. If more than one index could be used, you have to choose the one you want. An arrow in the link diagram area shows you the link.

Index

Choose the detail table index you want from the Index list. The Index list shows all predefined indexes for the detail table. The table's key (the table's primary index) is marked with an asterisk (*). If the key is a composite key, all fields of the composite are displayed, linked with a dash and marked with an asterisk (*). The table's secondary indexes are listed after the key.

Click the Add Index arrow [image] or press Alt+I to place the selected field in the link diagram panel.

Unlink

Choose Unlink to break an existing link.

See Also

Data Model dialog box

Linking tables


Define Link Dialog Box (dBASE)

Use the Define Link dialog box to define a link more specifically than you can in the Data Model dialog box. To open the Define Link dialog box, draw a link between tables in the Data Model dialog box.

Dialog Box Options

Field

Choose the master table field you want from the Field list. Click the Add Field arrow [image] or press Alt+A to place the selected field in the link diagram panel. Click the Remove Field arrow [image] or press Alt+D to remove a field from the diagram.

Link diagram area

The field you select from the Field list appears below the table name in the link diagram area of the dialog box. If Paradox finds an index of the detail table that matches the name and type of field you chose, it completes the link for you. If more than one index could be used, you have to choose the one you want. An arrow in the link diagram area shows you the link.

Index

Choose the detail table index you want from the Index list. The Index list shows all predefined indexes for the detail table (all tags in the .MDX file).

Click the Add Index arrow [image] or press Alt+I to place the selected field in the link diagram panel.

Master expression

Choose EXPRESSION from the Field list to make this box available. Then type an expression in this box. You can link dBASE-type tables only on like field types unless you use a master expression in the link. You can link dBASE tables only on maintained indexes (not .NDX files).

Unlink

Choose Unlink to break an existing link.

See Also

Data Model dialog box

Linking tables

Creating an expression index


Adding Tables to the Data Model

You add tables in the diagram in the Data Model dialog box.

To add a table to the data model, select the table from the Table list and choose Add or Alt+A. The Add button is available only when you select a table from the Table list.

By default, the tables in the Table list box are those in the working directory. If you do not see the table you want, choose another path from the drop-down Path list. Or choose Browse to open the Browser, which gives you access to all tables.

Note:	You can add queries to a form or report's data model just as you would add tables. Just change the type setting to Queries. A query must be the master table in a multi-table design.

See Also

Data Model dialog box

Linking tables

Browser


Modifying a Link

When designing your document, you can change the way you set up your multi-table links. Choose Data Model from the Form or Report menu, or choose the Data Model button in the Define Link dialog box. This displays the Data Model dialog box.

To change the way two tables are linked, select the detail table and choose Link to display the Define Link dialog box.

See Also

Data Model dialog box.

Linking tables


Removing links

To remove an existing link in the data model, select the detail table and choose Unlink.

To display the Data Model dialog box from a design window, choose Data Model from the Form or Report menu, or choose the Data Model button in one of the Define dialog boxes.

See Also

Data Model dialog box


Removing Tables from the Data Model

To remove unlinked tables from the data model, select the table object and choose Remove Table.

You cannot remove a linked table from the diagram area. You must break the link before you can delete the table.

See Also

Linking tables


Exchanging Data

Paradox gives you two easy ways to access data from other Windows applications: Dynamic Data Exchange (DDE) and Object Linking and Embedding (OLE).

The application that is the source of the data to be exchanged is called the server. The application that receives the exchanged data is the client. Paradox is capable of being both a DDE server and DDE client. Paradox is an OLE client only.

DDE is used to maintain a link between fields in a Paradox table and data in other applications.

OLE is used to embed entire files from an OLE server into Paradox. When you place data into Paradox using OLE, you can then access the OLE server directly from Paradox to make any changes you want. The changes affect only the OLE object in Paradox; the original file is not changed.

See Also

When to use DDE

When to use OLE

Networking Paradox


When to Use DDE

Use DDE when you have small, discrete bits of data you want to place in Paradox. For example, DDE is perfectly suited for exchanging the data stored in selected fields of a spreadsheet or fields of a table.

You can use DDE from Paradox to open the DDE server application and display the linked file. This is similar to the capability provided through OLE. Because DDE stores only a reference to the file in the DDE server (OLE stores the file itself) DDE is faster and takes less memory than OLE.

How to use DDE

The application that is the source of the data to be exchanged is the DDE server. The application that receives the exchanged data is the DDE client. Paradox can act as either a DDE client or a DDE server; you can pass data either out of or into Paradox tables.

See Also

Exchanging data

Using Paradox as a DDE server

Using Paradox as a DDE client


Using Paradox as a DDE Server

When you take the values from a Paradox field and place them in another application, you are using Paradox as a DDE server.

To use Paradox as a DDE server

Suppose you have a spreadsheet that performs a series of calculations on a value. The value you want to perform the calculations on is in a field of a Paradox table.

1.	In a Paradox Table window, select any value in the field, then choose Edit | Copy to copy the field to the Clipboard.

2.	In the DDE-client spreadsheet, use Paste Link to place the field in the appropriate spreadsheet cell. Remember, you do not place an actual value in the spreadsheet. Instead, you use DDE to tell the spreadsheet where to look for the value.

As you move through the records of your Paradox table, the values in the spreadsheet change because the value in the field is different for different records. The spreadsheet displays the field value for the selected Paradox record.

Note:	You can use DDE to place Paradox fields in any type of application that is a DDE client. Spreadsheets, word processors, and a variety of other applications can accept Paradox field values through DDE.

To link an entire table through DDE, choose Edit | Select All, then Edit | Copy.

See Also

Using Paradox as a DDE client

Paradox as both client & server

Disconnecting a DDE link


Disconnecting a DDE Link

After a DDE link is pasted into a DDE-client application, the Table | Notify On command is activated in Paradox. While this command is active, the link is "live." For example, when you select another record in the linked table (in Paradox), the new value is delivered to the DDE client.

To disconnect the link, uncheck Table | Notify On in Paradox. While this command is inactive, no changes are delivered to the DDE client. To reconnect the link at any time, choose Table | Notify On.

If you create a DDE link to an entire table, Table | Notify On works similarly. When any record in the linked table changes, the entire table is refreshed in the DDE client. Changes are posted in the table whenever the person editing the table moves off of the record.

See Also

Using Paradox as a DDE server


Using Paradox as a DDE Client

When you use Paradox as a DDE client, you place link information about a value from another application into an alphanumeric field in a Paradox table.

A common use of Paradox as a DDE client is to use values from another application and perform queries on them in Paradox.

To use Paradox as a DDE client,

1.	Copy the value you want to use (your DDE server can be a spreadsheet, word processor, or any other DDE-capable application).

2.	In Paradox, select the alphanumeric field where you want to place the DDE value, then choose Edit | Paste Link.

You see link information like @DDE-QPW! | C:\QPW\NOTEBK1.WB1!$A$D$2!@. This is a string that tells Paradox where to look for the DDE value. This particular string tells Paradox to look for a Quattro Pro for Windows file located on C:\QPW in Notebook 1, page A, cell D2.

In Paradox, you view the link information rather than the DDE value. To view the value in the DDE server, select the field and press Shift+F2. Paradox displays a message telling you it's launching the DDE server, then opens the application and the correct file.

See Also

Using Paradox as a DDE server

Paradox as both client & server

Edit | Paste link


Paradox as Both Client and Server

When you use Paradox as both DDE client and server, all actions can be performed within Paradox.

For example, a linked field can run a query (the DDE client). When the field value changes in the source table (DDE server), an updated Answer table appears.

To use DDE to run a query

Suppose you want to run a separate query for each customer in the Customer table.

1.	Open the Query window and add the Orders and Lineitem tables to it.

2.	Construct a query that looks like this:

3.	Open Customer in a Table window.

4.	In Customer, select Customer No 1221 and click the Copy button on the SpeedBar.

5.	In the Query window, position the text insertion point in the Customer No field of the Orders table. Choose Edit | Paste Link. Link information from the Customer table appears in the field.

6.	Click the Run Query SpeedBar button. Paradox creates an Answer table listing all of Customer No 1221's items.

7.	Click the Query window's title bar to activate the window. Choose Query | Wait for DDE.

8.	Click the Customer table's title bar to activate the window. Select Customer No 1221. Press the Down arrow to move to Customer No 1231. When you select the new value, Paradox activates the DDE link and runs the query again, updating the Answer table with the new value's data.

You can uncheck Query | Wait for DDE if you want to scroll quickly through the Customer table without running a query on each record's value.

See Also

Paradox as DDE server

Paradox as DDE client


When to Use OLE

Use OLE when you want to store data from different applications in your Paradox tables, and you want to view them in Paradox and open them directly from Paradox. DDE gives you the power to access the source application, but it stores only the location of the source value (the value you copied to the Clipboard). OLE, on the other hand, stores and displays an entire file. You can place a 100-page document in a single OLE field and view it from Paradox.

The advantage of using OLE objects in Paradox fields is that you can access the power of the OLE server to work with the object from within Paradox.

Paradox is an OLE client only. You cannot use OLE to place Paradox field values in other applications. You can place OLE values in Paradox OLE fields or in OLE design objects in forms and reports.

Once you place an OLE value in Paradox, you can access its source application directly from Paradox to make any changes you need. The changes affect only the OLE object in Paradox. The original object you copied is not changed.

See Also

Exchanging data

Entering OLE data


Networking Paradox

The instructions in these topics are for a network administrator or supervisor---someone with full, or "parental" rights to all directories on the network.

Topics covered include

Paradox network configurations

Network concepts

The directory structure of each Paradox network configuration

The installation and configuration steps for installing Paradox on a network

See Also

Paradox network configurations

Network concepts

Directories

Installing Paradox

Overriding directories


Paradox Network Configurations

You can install Paradox in one of three configurations for sharing data on a network. These are listed here in order from fastest to slowest performance speed and from most expensive to least expensive.

Local-only configuration

Each workstation has Windows and Paradox installed on its local hard disk. Each workstation thus runs Windows and Paradox locally but accesses shared Paradox data in shared network directories.

Combined configuration

Each workstation has Windows installed on its local hard disk but uses a single copy of Paradox with Paradox LAN Licenses on the network. Each workstation thus runs Windows locally but accesses both the Paradox program and shared Paradox data in shared network directories.

Server-only configuration

Each workstation uses a single copy of Windows and a single copy of Paradox with Paradox LAN Licenses on the network. Each workstation thus runs Windows and the Paradox program from the network, and accesses shared Paradox data in shared network directories.

See Also

Directories

Local-only configuration

Combined configuration

Server-only configuration

Overriding directories

Installing Paradox

Network concepts


Network Concepts

When installing Paradox for network use, you must adhere to the particular license agreement of your Paradox product or products, especially the provisions specifying the number of users authorized to run Paradox concurrently on the network.

Customer Service

The Paradox LAN License authorizes one additional user to run Paradox concurrently on a network. Contact Borland Customer Service for complete product information.

See Also

Failing to exit properly

Network control files

Paradox network configurations

Product support information


Failing to Exit Properly

If a user working with Paradox on the network fails to exit properly, Paradox does not make that user's count available to anyone else. This could occur, for example, when someone is using Paradox and simply turns off the workstation without first ending the Paradox session.

To restore the count, the user needs to log back on to the network from the same workstation; the user does not have to restart Paradox. At this point, Paradox detects that the user is no longer working with the program and releases that user's count.

Caution: Improperly exiting Paradox, such as by rebooting or shutting off your machine, can cause data loss or corruption.

See Also

Network control files

Network concepts

Paradox network configurations


Network Control Files

Paradox for Windows uses a network control file called PDOXWIN.USR to keep track of all the Paradox for Windows users on the network. It uses a network control file called PDOXUSRS.NET to control table sharing.

PDOXUSRS.NET makes it possible to install and run concurrently both Paradox for Windows and DOS Paradox 4.0 on the network. This lets users of both programs share data concurrently.

Upgrading

Versions of Paradox earlier than 4.0 use a PARADOX.NET file to control table sharing on the network; thus, neither Paradox for Windows nor DOS Paradox 4.0 users can share data concurrently with users of earlier versions of Paradox. For this reason, you should upgrade earlier versions of Paradox to DOS Paradox 4.0 or to Paradox for Windows.

Network control file	Version(s) used by	Function
PDOXWIN.USR	Paradox for Windows 1.0	Monitor number of Paradox for Windows 1.0 users on the network
PDOXUSRS.NET	Paradox for Windows 1.0	Control table sharing among Paradox for Windows 1.0 users (and, if applicable, among DOS Paradox 4.0 users)
	DOS Paradox 4.0	Monitor number of DOS Paradox 4.0 users on the network and control table sharing among these users (and, if applicable, among Paradox for Windows 1.0 users)
PARADOX.NET	Paradox versions earlier than 4.0	Monitor number of Paradox 3.5 and earlier version users on the network and control table sharing between these users
The following table summarizes the concurrent table sharing allowed between Paradox products.

Version	Paradox for Windows 1.0	DOS Paradox 4.0	Paradox versions earlier than 4.0
Paradox for Windows 1.0	Yes	Yes	No
DOS Paradox 4.0	Yes	Yes	No
Paradox versions earlier than 4.0	No	No	Yes
See Also

Designating the location of PDOXUSRS.NET

Dual links

Network concepts

Paradox network configurations


Designating the Location of PDOXUSRS.NET

For Paradox for Windows, you designate the location of PDOXUSRS.NET with the ODAPI Configuration Utility. Installing Paradox explains how to do this. You must specify a single location, in a shared data directory on the network, to which all Paradox for Windows and, if applicable, DOS Paradox 4.0 users have read/write/create rights. Either Paradox program must be able to find PDOXUSRS.NET in the same place each time a user starts either program.

Note:	You should not specify a location on a local hard disk for PDOXUSRS.NET; if you do, a user at another workstation might not be able to start Paradox or access shared data.

The PDOXUSRS.NET file is session-specific. When the first user starts Paradox for Windows or DOS Paradox 4.0 on the network, Paradox for Windows or DOS Paradox 4.0 searches for the file in the location you specified. If either program cannot find PDOXUSRS.NET, it creates it in the specified location. Subsequent users will find that the file has already been created. If the file is accidently erased, either program recreates it.

Path names

The path name of PDOXUSRS.NET must be the same for each user on the network.

Many network systems allow more than one drive letter to map to a single shared disk drive. Paradox lets you specify different drive letters for the location of PDOXUSRS.NET; however, the path name---everything after the drive letter---must always be the same.

If you do not designate the same PDOXUSRS.NET file location for each user and multiple PDOXUSRS.NET files are active during a Paradox session, some users might be prevented from accessing shared data. People who are using the same PDOXUSRS.NET file can share data, but other users who are using a different PDOXUSRS.NET file cannot work with the first group's data.

See Also

Installing Paradox

Network control files

Dual links

Network concepts


Dual Links

On a network, Paradox identifies tables by their drive letter, path, and table name. Never refer to the same table from one workstation in one session using two different logical drives. Doing so creates a dual link, meaning Paradox has two different names from the same user for the same table. This could result in serious problems.

Different users at different workstations can access a table with whatever logical drives they choose without problems.

See Also

Network control files

Designating the location of PDOXUSRS.NET

Network concepts


Directories

Before installing and working with Paradox, become familiar with these types of directories:

The ODAPI directory (default: WINDOWS \ SYSTEM)

The Paradox system directory (default: PDOXWIN)

Paradox shared data directories (suggested name for the main directory under which these fall: PDOXDATA)

Private directories

Working directories

See Also

The ODAPI directory

The Paradox system directory, PDOXWIN

Shared data directory, PDOXDATA

Private directories

Working directories

Network concepts


The ODAPI Directory

When you install Paradox, it's set to install the ODAPI files, including ODAPI.CFG, to C:\ WINDOWS \ SYSTEM by default. These files enable concurrent use of ODAPI programs, including Paradox for Windows and Quattro Pro for Windows.

PATH statement

If the ODAPI files used by a workstation exist somewhere other than WINDOWS \ SYSTEM or WINDOWS, that workstation's PATH statement must include the drive and directory containing those ODAPI files.

Rights

All Paradox users must have at least read-only rights to the directory containing the ODAPI files. Users with read-only rights cannot modify ODAPI.CFG with the ODAPI Configuration Utility.

See Also

Directories

Local-only configuration

Combined configuration

Server-only configuration

Network concepts


Local-Only Configuration

When you install in the local-only configuration, you will probably want to leave the default of C:\ WINDOWS \ SYSTEM in place, since WINDOWS \ SYSTEM is usually located on each local hard disk's drive C in this configuration.

You can install the ODAPI files to a drive and directory other than C:\ WINDOWS \ SYSTEM; however, if you do, be sure every workstation not using C:\ WINDOWS \ SYSTEM includes the alternative drive and directory in its PATH statement.

Borland applications use common ODAPI files and look for them at install time in WINDOWS \ SYSTEM or WINDOWS. Thus, if you choose to install the ODAPI files to a drive and directory other than C:\ WINDOWS \ SYSTEM, and you later install another Borland application, you must remember where you installed the original ODAPI files and update them with the more recent ones from the new Borland application.

See Also

The ODAPI directory

Combined configuration

Server-only configuration

Network concepts


Combined Configuration

In the combined configuration, WINDOWS \ SYSTEM usually exists on each workstation's local hard disk drive C. When installing Paradox in this configuration, however, you first install to the network from the network administrator's workstation. Thus, if you leave the default C:\ WINDOWS \ SYSTEM in place for the ODAPI files, they get installed to the C:\ WINDOWS \ SYSTEM of the network administrator's workstation. You then have to transfer these files to every other individual workstation's local hard disk.

When first installing Paradox to the network from the network administrator's workstation, install the ODAPI files to a network directory. You can then copy the files from the network to each workstation's local hard disk. The ODAPI files on the network serve as backup files to each workstation's ODAPI files, and the ODAPI.CFG file on the network serves as a default configuration file.

Install the ODAPI files to a separate directory on the network, which you could name ODAPI, for example. After you install, you might want to make the network directory containing the backup and default ODAPI files read-only, in which case users cannot then modify the default ODAPI.CFG with the ODAPI Configuration Utility. However, if you have yet to install another ODAPI program, such as Quattro Pro for Windows, you---as the installer---will need full rights to the ODAPI directory.

Copy the ODAPI files to C:\ WINDOWS \ SYSTEM on each local hard disk. You can copy the ODAPI files to a drive and directory other than C:\ WINDOWS \ SYSTEM; however, if you do, be sure every workstation not using C:\ WINDOWS \ SYSTEM includes the alternative drive and directory in its PATH statement.

Borland applications use common ODAPI files and look for them at install time in WINDOWS \ SYSTEM or WINDOWS. Thus, if you choose to copy the ODAPI files to a drive and directory other than C:\ WINDOWS \ SYSTEM, and you later install another Borland application, you must remember where you installed and copied the original ODAPI files and update them with the more recent ones from the new Borland application.

Following installation in the combined configuration from the network administrator's workstation, you have to set up all workstations. You identify each user's ODAPI.CFG directory with the Local Settings Utility. Installing Paradox explains how to do this.

See Also

The ODAPI directory

Local-only configuration

Server-only configuration

Installing Paradox

Run the Local Settings Utility

Network concepts


Server-Only Configuration

When you install in the server-only configuration, install the ODAPI files to the network WINDOWS directory. Edit the default C:\ WINDOWS \ SYSTEM already in the ODAPI files text box of the INSTALL program. Change the default drive C to the logical network drive you've linked to the WINDOWS directory on the network. Because the network version of Windows installs by default to a WINDOWS directory, not to a WINDOWS \ SYSTEM directory, you also need to change the path from WINDOWS \ SYSTEM to just WINDOWS.

You can install the ODAPI files to a network directory other than the WINDOWS directory. If you do, however, and these are the ODAPI files you want all of your users to use, each workstation's PATH statement must include the drive and directory containing the ODAPI files.

You can also copy the default ODAPI.CFG to local hard disks to allow users to have individual configurations. In this situation, the ODAPI.CFG on the network serves as a backup and default configuration file. After you install, you might want to make the network directory containing the backup and default ODAPI files read-only, in which case users cannot then modify the default ODAPI.CFG with the ODAPI Configuration Utility. However, if you have yet to install another ODAPI program, such as Quattro Pro for Windows, you---as the installer---will need full rights to the ODAPI directory.

If you copy the ODAPI.CFG to local hard disks to allow users to have individual configurations, you will probably want to copy it to a separate directory---named ODAPI, for example. Be sure to include the drive and directory containing the ODAPI.CFG file the workstation will use in the workstation's PATH statement.

Following installation in the server-only configuration from the network administrator's workstation, you have to set up all workstations. You identify each user's ODAPI.CFG directory with the Local Settings Utility. Installing Paradox explains how to do this.

See Also

The ODAPI directory

Local-only configuration

Combined configuration

Installing Paradox

Run the Local Settings Utility

Network concepts


The Paradox System Directory, PDOXWIN

The Paradox system directory contains the Paradox system, or program files. Here is a description for each configuration:

When you install Paradox in the local-only configuration, you leave Paradox's default of C:\ PDOXWIN in place. You can change drive C to another local hard disk drive, such as D or E. You can also change the default directory name from PDOXWIN to any name you want.

When you install in the combined or server-only configurations, you change the default drive C to the logical network drive on the network where you want to install Paradox. We also recommend you make it a subdirectory of a network shared applications directory, if you have one. You can change the default directory name from PDOXWIN to any name you want.

Read-only

Following installation in the combined or server-only configurations, you might want to make the directory where you installed the system files read-only, or make the Paradox system files read-only. Some networks do not allow multiple users to execute programs concurrently if the program's files are not read-only.

See Also

The ODAPI directory

Local-only configuration

Combined configuration

Server-only configuration

Shared data directory, PDOXDATA

Private directories

Working directories

Network concepts


Shared Data Directory, PDOXDATA

For all three network configurations, create at least one shared data directory on the network to which all Paradox users have read/write/create rights. You need one such directory for the PDOXUSRS.NET control file, and you need one to store shared Paradox objects. One shared directory can serve both purposes. Name this directory PDOXDATA.

Give all network Paradox users full rights to PDOXDATA. All users must have read/write/create rights to the network directory containing PDOXUSRS.NET, because the first user to start Paradox creates this file, and all users read from and write to that file during their Paradox sessions.

See Also

Directories

The ODAPI directory

The Paradox system directory, PDOXWIN

Private directories

Working directories

Network control files

Designating the location of PDOXUSRS.NET

Network concepts


Private Directories

Paradox uses private directories to store each user's temporary Paradox objects, such as Answer tables. Temporary objects created by each user must be stored in a unique directory; otherwise, one user's temporary objects would overwrite another's. Every person who uses Paradox on the network must have a private directory when running Paradox.

When you install in the local-only configuration, Paradox automatically creates a subdirectory it names PRIVATE under the PDOXWIN system directory. PDOXWIN \ PRIVATE is the default private directory in the local-only configuration.

In the combined and server-only configurations, Paradox detects that you're installing to a network rather than a local drive and thus does not automatically create a PRIVATE subdirectory under PDOXWIN on the network. In these configurations, if you do not specify a private directory for a user, Paradox uses the Windows temporary directory as that user's private directory. This will work in the combined configuration, where each workstation has a local WINDOWS \ TEMP. In the server-only configuration, where Windows and its single temporary directory exist on the network, you must specify a separate unique directory as the private directory for each workstation.

Consider making the following directories the private directory for the following network environments:

If a workstation has a local hard disk, use C:\ PDOXWIN in the combined and server-only configurations and C:\ PDOXWIN \ PRIVATE in the local-only configuration.

If a workstation has no local hard disk, make the workstation user's network home directory the private directory. The user must have read/write/create rights to the directory.

Keep these things in mind when specifying private directories:

If a user performs queries on large tables, the private directory should be located on a drive with adequate disk space.

You identify each user's private directory with the Local Settings Utility. Installing Paradox explains how to do this.

You can override the default location of the private directory that the Local Settings Utility specifies with the command-line option -p.

See Also

The ODAPI directory

Local-only configuration

Combined configuration

Server-only configuration

The Paradox system directory, PDOXWIN

Shared data directory, PDOXDATA

Working directories

Installing Paradox

Run the Local Settings Utility

Overriding directories

Network concepts


Working Directories

Two working directories are in effect when you run Paradox:

The Program Item Properties dialog box contains a Command Line text box and Working Directory text box. If you do not put the drive and full path to the PDOXWIN.EXE in the Command Line text box, then you must put this information in the Working Directory text box.

The Paradox data working directory contains the Paradox data files you're working with. When you install in the local-only configuration, Paradox automatically creates a subdirectory it names WORKING under the PDOXWIN system directory. PDOXWIN \ WORKING is the default working directory in the local-only configuration.

In the combined and server-only configurations, Paradox detects that you're installing to a network rather than a local drive and thus does not automatically create a WORKING subdirectory under PDOXWIN on the network. Specify each workstation's working directory with the Local Settings Utility. Installing Paradox explains how to do this.

You can override the default location of the Paradox data files working directory that the Local Settings Utility specifies with the command-line option -w.

Note: If the Paradox data working directory is a network shared directory, multiple users can access its data concurrently. If a user designates a network directory as a private directory, this prevents all other users from working with objects stored there. Paradox informs other users of the name of the user who's made the directory private when they try to access its data.

See Also

The ODAPI directory

Local-only configuration

Combined configuration

Server-only configuration

Installing Paradox

The Paradox system directory, PDOXWIN

Shared data directory, PDOXDATA

Private directories

Overriding directories

Network concepts


Installing Paradox

With each of the three Paradox network configurations, you must first install Windows and then Paradox at one workstation. The directions that follow assume that the one workstation you start with is the network administrator's workstation.

See Also

Install Windows

Install Paradox

Combined and server-only configurations

Run the Local Settings Utility

Configure Paradox for sharing data on a network

Run Paradox at each workstation

Network concepts


Install Windows

Follow the Windows installation instructions in the Windows printed and online documentation:

For the local-only and combined configurations, install an individual, standalone copy of Windows on the local hard disk of each workstation.

For the server-only configuration, install the network version of Windows on the network, using the network administrator's workstation. After installing Windows on the network, set up each workstation to access Windows, following Windows printed and online documentation.

See Also

Local-only configuration

Combined configuration

Server-only configuration

Installing Paradox

Network concepts


Install Paradox

After Windows is installed, install Paradox:

For the local-only configuration, install an individual, standalone copy of Paradox on the local hard disk of each workstation, following the instructions in Getting Started.

For the combined and server-only configurations, install on the network an individual, standalone copy of Paradox, using the network administrator's workstation. After installing Paradox on the network, set up each workstation to access it; follow the instructions in the next topic.

See Also

Install Windows

Combined and server-only configurations

Run the Local Settings Utility

Configure Paradox for sharing data on a network

Run Paradox at each workstation

Network concepts


Combined and Server-Only Configurations

After installing Paradox on the network in the combined or server-only configurations, link all other workstations to the program. To do this, you

Create Paradox program groups at each workstation (optional).

Create Paradox icons at each workstation.

Create Paradox utility icons at each workstation.

These steps are covered in detail in the next four topics.

If you're installing in the local-only configuration, jump directly to Run the Local Settings Utility.

See Also

Installing Paradox

Create Paradox program groups at each workstation (optional)

Create Paradox icons at each workstation

Create Paradox utility icons at each workstation

Run the Local Settings Utility

Network concepts


Create Paradox Program Groups At Each Workstation (Optional)

At each workstation, you can create a program group window for Paradox in Windows. (The network administrator's workstation already has the Paradox program group window, because the installation program created it automatically.) If you want Paradox in another existing program group window, skip this topic and jump to Create Paradox icons at each workstation.

At each workstation, start Windows, then

1.	Choose File | New from the Windows Program Manager menu.

2.	In the New Program Object dialog box, choose Program Group, then choose OK.

3.	Type a description for the Paradox program group in the Description text box, such as "Paradox for Windows".

4.	Choose OK. An empty Paradox program group window appears with the description you typed as its title.

See Also

Create Paradox icons at each workstation

Create Paradox utility icons at each workstation

Installing Paradox

Network concepts


Create Paradox Icons At Each Workstation

At each workstation, create the Paradox icon in the Paradox program group window. (The network administrator's workstation already has the Paradox icon in the Paradox program group window, because the installation program created it automatically.)

1.	With the Paradox program group window selected, choose File | New from the Windows Program Manager menu.

2.	In the New Program Object dialog box, choose Program Item and choose OK.

3.	Type a description for Paradox in the Description text box, such as "Paradox for Windows".

4.	Specify the drive and full path to PDOXWIN.EXE on the network in one of the following ways:

In the Command Line text box, type the drive and full path to PDOXWIN.EXE on the network, followed by the file name PDOXWIN.EXE.

Type the file name PDOXWIN.EXE in the Command Line text box, and type the drive and full path to PDOXWIN.EXE's directory in the Working Directory text box, in which case you must include this drive and directory (default: PDOXWIN) in the path statement.

Note: The working directory you're defining in the Program Item Properties dialog box is distinct from the Paradox data working directory, which you define with Paradox's Local Settings Utility.

5.	Choose OK. A Network Path Specified dialog box appears, warning you that this program is located on a network directory and thus might not always be available.

6.	Choose Yes. The Paradox icon appears in the Paradox program group window.

See Also

Create Paradox program groups at each workstation (optional)

Create Paradox utility icons at each workstation

Installing Paradox

Network concepts

Working directories


Create Paradox Utility Icons At Each Workstation

At each workstation, create the ODAPI Configuration Utility, Table Utility, and Local Settings Utility icons in the Paradox program group window.

In the following instructions, use values for the Description and .EXE file name found in the table below.

1.	With the Paradox program group window selected, choose File | New from the Windows Program Manager menu.

2.	In the New Program Object dialog box, choose Program Item and choose OK.

3.	Type a description for the icon in the Description text box (see table).

4.	Specify the drive and full path to the EXE file (see table) on the network in one of the following ways:

In the Command Line text box, type the drive and full path to the EXE file on the network, followed by the file name.

Type the EXE file name in the Command Line text box, and type the drive and full path to the EXE file's directory in the Working Directory text box, in which case you must include this drive and directory (default: PDOXWIN) in the path statement.

Note: The working directory you're defining in the Program Item Properties dialog box is distinct from the Paradox data working directory, which you define with Paradox's Local Settings Utility.

5.	Choose OK. A Network Path Specified dialog box appears, warning you that this program is located on a network directory and thus might not always be available.

6.	Choose Yes. The Paradox icon appears in the Paradox program group window.

Table of Descriptions and .EXE file names for each utility

Utility	Description	.EXE file
ODAPI Configuration	ODAPI Configuration Utility	ODAPICFG.EXE
Table Repair	Table Repair Utility	TUTILITY.EXE
Local Settings	Local Settings Utility	PWLOCAL.EXE
All of these utility .EXE files are in the system directory (PDOXWIN) with PDOXWIN.EXE.

See Also

Create Paradox program groups at each workstation (optional)

Create Paradox icons at each workstation

Installing Paradox

Network concepts


Run the Local Settings Utility

 Specify the location of each user's private and working directories and the ODAPI configuration file, ODAPI.CFG, with the Local Settings Utility.

At each workstation,

1.	Run the Local Settings Utility. Double-click the Local Settings Utility icon in the Paradox program group window. In any of the configurations, you might encounter an Error dialog box. This dialog box informs you that you're missing or need to update the BWCC.DLL file.

BWCC is an acronym for Borland Windows Custom Control. You must have this file in the WINDOWS \ SYSTEM or WINDOWS directory the workstation is using to run Paradox. Click OK to copy the up-to-date BWCC.DLL (that came with the other Paradox program files) from the PDOXWIN directory to the WINDOWS \ SYSTEM or WINDOWS directory the workstation is using. The Paradox for Windows Local Settings dialog box appears.

2.	In the Working Directory text box, type the drive and full path to the local or network directory you want to be your default Paradox data files working directory. The data files working directory is not the same as the DOS working directory, which should be the system directory (PDOXWIN).

In the local-only configuration, the Working Directory text box should already contain the drive and full path to the subdirectory WORKING under the directory where you installed Paradox on the local hard disk. If you installed to the default drive and directory, the Working Directory text box contains C:\ PDOXWIN \ WORKING.

You can leave the C:\ PDOXWIN \ WORKING default in place, or you can change it. For example, you might want to set a beginning Paradox for Windows user's working directory to C:\ PDOXWIN \ SAMPLE, where the sample files are located (assuming you installed them and put them in SAMPLE). Or, you might want to set some user's working directory to a network shared data directory, such as PDOXDATA.

In the combined and server-only configurations, at every workstation except the network administrator's workstation, the Working Directory text box will be empty. You need to specify a working directory for each workstation.

As with the local-only configuration, specify a working directory that suits that workstation's user's needs. For beginning Paradox for Windows users, you might want to set the working directory to the directory containing the sample files. For users who work mostly with shared data on the network, set the working directory to a network shared data directory, such as PDOXDATA.

You need to create a main Paradox shared data directory on the network, which we suggest you name PDOXDATA. We also suggest that you make it the directory where each user creates and saves the PDOXUSRS.NET file. You specify the location of PDOXUSRS.NET with the ODAPI Configuration Utility; see Configure Paradox for sharing data on a network.

3.	In the Private Directory text box, type the drive and full path to the local or network directory you want to be the default private directory for that workstation. Each Paradox network user must have a unique private directory in which to store temporary objects, such as Answer tables. No two users can have the same private directory.

In the local-only configuration, the Private Directory text box should already contain the drive and full path to the subdirectory PRIVATE under the directory where you installed Paradox on the local hard disk. If you installed to the default drive and directory, the Private Directory text box contains C:\ PDOXWIN \ PRIVATE. You can leave the C:\ PDOXWIN \ PRIVATE default in place, since this directory is on the local hard drive.

In the combined and server-only configurations, at every workstation except the network administrator's, the Private Directory text box will be empty.

If the workstation has a local hard disk, create a PDOXWIN directory on the local hard disk and make C:\ PDOXWIN the private directory.

If the workstation does not have a local hard disk, make the private directory the workstation user's home directory on the network. The user must have full rights to this directory.

4.	In the ODAPI Configuration File text box, type the drive and full path to ODAPI.CFG and the file name ODAPI.CFG.

In the local-only configuration, the ODAPI Configuration File text box should already contain the drive and full path to the directory where you installed the ODAPI files on the local hard disk. If you installed to the default drive and directory, the ODAPI Configuration File text box contains C:\ WINDOWS \ SYSTEM \ ODAPI.CFG.

You can leave the C:\ WINDOWS \ SYSTEM \ ODAPI.CFG default in place. If you change the drive or path to ODAPI.CFG, you must relocate ODAPI.CFG accordingly.

In the combined and server-only configurations, at every workstation except the network administrator's, the ODAPI Configuration File text box will be empty.

Type the drive and full path to the default ODAPI.CFG file on the network, if that's the only ODAPI.CFG file you want the users to use. If you copy the ODAPI.CFG file to the workstation's local hard disk---to allow each user to modify the default configuration to an individual configuration---type the drive and full path to the local ODAPI.CFG file and the file name ODAPI.CFG. Be sure to include the local drive and path to the local ODAPI.CFG in the workstation's path statement.

See Also

Working directories

The ODAPI directory

Local-only configuration

Combined configuration

Server-only configuration

Installing Paradox

Network concepts

Configure Paradox for sharing data on a network


Configure Paradox for Sharing Data on a Network

After you've installed Paradox, you need to configure each workstation to access data on a network. This involves running the ODAPI Configuration Utility to specify the location of PDOXUSRS.NET.

You must specify the same network directory location of PDOXUSRS.NET for each workstation. Do not specify a local hard disk directory for the location of PDOXUSRS.NET.

At each workstation,

1.	Run the ODAPI Configuration Utility. Double-click the Configuration Utility icon in the Paradox program group window. The ODAPI Configuration Utility dialog box appears.

2.	In the Network Control File Directory text box, type the drive and full path to PDOXUSRS.NET on the network. Store PDOXUSRS.NET in the main Paradox shared data directory on the network, and name it PDOXDATA. This step assumes you have already created this directory on the network and given every user read/write/create access to it.

See Also

Combined and server-only configurations

Run the Local Settings Utility

Run Paradox at each workstation

Installing Paradox

Network concepts


Run Paradox At Each Workstation

In all configurations, after you have installed Paradox at each workstation and configured it to access shared data on the network, run the program at each workstation. If Paradox does not start at any one of the workstations, review the Installing Paradox topics and install again, if necessary.

See Also

Installing Paradox

Combined and server-only configurations

Run the Local Settings Utility

Configure Paradox for sharing data on a network

Network concepts

Product support information


Overriding Directories

Each user can override the default private and working directory locations specified in the Local Settings Utility with the command-line options -p and -w, respectively.

See Also

Overriding the default private directory

Overriding the default working directory

Directories

Installing Paradox

Network concepts


Overriding the Default Private Directory

To override the default private directory specified in the Local Settings Utility with the command-line option -p,

1.	Highlight the Paradox icon and choose File | Properties from the Windows Program Manager menu.

2.	Choose OK while Program Item is selected. The Program Item Properties dialog box appears.

3.	In the Command Line text box of the Program Item Properties dialog box, type a space after the drive and path name of PDOXWIN.EXE and then type

-p C:\ NEWDIR

where NEWDIR is the new private directory. You can also change the drive. A user with a diskless workstation cannot specify the hard disk drive C but must instead specify a network drive, just as in the Local Settings Utility.

The private directory must always be unique to the user; it cannot be shared by more than one user. Users should be careful when specifying private directories not to specify a shared working data directory. If they do, they prevent all other users from accessing that data.

See Also

Overriding directories

Overriding the default working directory

Directories

Installing Paradox


Overriding the Default Working Directory

To override the default working directory specified in the Local Settings Utility with the command-line option -w, either before or after the -p parameters (or by itself after the drive and path to PDOXWIN.EXE, if you're only specifying a new working directory), type a space and then type

-w C:\ NEWDIR

where NEWDIR is the new Paradox data files working directory. You can also change the drive. A user with a diskless workstation cannot specify the hard disk drive C but must instead specify a network drive, just as in the Local Settings Utility.

Note:	The working directory you specify with the Local Settings Utility or with the command-line option -w is not the same as the DOS working directory you can specify in the Working Directory text box of the Windows 3.1 Program Item Properties dialog box.

See Also

Overriding directories

Overriding the default private directory

Directories

Working directories

Installing Paradox


Design Tool Properties

This is the list of properties of the design tool you inspected.

By changing any of these properties on the tool's menu, you change the default properties of the design tool. All objects you subsequently place on a document with this tool will have these properties.

To change properties of just one object placed by this tool, place the object first, then inspect it and change the object's properties, rather than the properties of the tool.

Another way to change a design tool's properties is to copy an object's property set back to the tool using Copy To SpeedBar.

See Also

Design | Copy To SpeedBar


Position

There is no help on this property at this time. Please refer to the User's Guide.


Size

There is no help on this property at this time. Please refer to the User's Guide.


Scroll

There is no help on this property at this time. Please refer to the User's Guide.


Full Size

The full size of an object is the area within its frame. An object may have a full size bigger than the object, in which case it is a scrollable or (in the case of bitmap and OLE) pannable object. Nonscrollable objects generally have full size smaller than size.

In reports, if you set Fit Height or Fit Width, the object will expand so that the full size fits inside the frame in the indicated dimension.


Object Names

The object name appears at the top of the object menu. When the object is selected, its name appears on the status line.

You can change the name of most design objects. To change an object's name, choose the name from the object's menu.

If the object can be renamed, the Object Name dialog box opens. Type the new name for the object in the text box, then choose OK.

If the object cannot be renamed, nothing happens when you choose the name from its menu. For example, the names of parts of a table in a window cannot be changed.

Why name objects?

Since a selected object's name appears on the status line, naming objects can help you tell which object is selected in a complicated design.

In a form, all design objects can have ObjectPAL methods attached to them. ObjectPAL refers to objects by name. If the name of an object begins with the pound character (#), then you need not name the object explicitly when referring to its children in ObjectPAL.

In a report you can use object names in defining calculated fields.


Translucent

There is no help on this property at this time. Please refer to the User's Guide.


Color

You can change the color of an object or the selected part of an object (this includes parts of tables).

When you choose Color, Paradox displays the Color palette. You can apply any color on the palette to the object. When you choose the color you want, the palette disappears and the object you were inspecting is changed to that color.

If you have selected multiple objects, all objects with a color property change. If you use Ctrl+right click, all selected objects and objects inside selected objects with a color property change.

If you know you'll be changing the color of several objects, click the snap at the top of the Color palette. This changes the look of the palette and snaps it to the screen. You can move it wherever you want it by dragging the header area, and you can keep it onscreen as long as you need it. The status line at the bottom of the pinned palette tells you where your choice of color will be applied. To close the palette, click the snap on its title bar.

Changes apply to the object you're inspecting. To change the color of text or background in all columns of the table at once, press Shift+F6 to inspect all fields.

See Also

Color palette

Creating custom colors


Style

Radio buttons and check boxes

Paradox provides two different styles for radio buttons and check boxes.

Choose Style | Borland if you want the radio button or check box you create to look like the ones you see in Paradox. Radio buttons appear as diamond shapes, and check boxes are gray with a three-dimensional look.

Choose Style | Windows if you want the radio button or check box you create to look like the ones you see in Windows, a standard circle (for a radio button) or a square (for a check box).

Frame style

Objects that have frames display a Frame | Style option on their menus. When you choose Frame | Style, the Frame palette appears. To choose the frame style you want, either click it or move to it and press Enter. Paradox changes the frame of the selected object(s) and removes the palette from the screen. Frame styles which are unavailable are dimmed on the palette. Some line and frame styles can be applied only when the line or frame is set to the thinnest choice.

Pattern style

Objects that can be filled with a pattern have a Pattern | Style option on their menus. When you choose Pattern | Style, the Pattern palette appears. To choose the pattern you want, either click it or move to it and press Enter. Paradox fills the selected object(s) with that pattern and removes the palette from the screen. If choosing a pattern style does not seem to have any effect, make sure the object's foreground and background colors are different.


Frame

Many objects are surrounded by a frame. Objects that have frames display the Frame choice on their menus. Choose this to change the style, thickness, or color of the frame.

Style displays the Frame palette.

Color displays the Color palette.

Thickness displays the Thickness palette, if you're designing for the screen, or a menu of thicknesses if you're designing for the printer.

From each palette, choose the frame style you want (either click it or move to it and press Enter). Paradox changes the frame of the selected object(s) and removes the palette from the screen.

Note:	Frame styles which are unavailable are dimmed on the palette. Some line and frame styles can be applied only when the line or frame is set to the thinnest choice.

You can click the snap at the top of the Style and Color palettes to keep them displayed.

Tip:	Text objects have no frame by default. Before you customize the color or thickness of a text object frame, choose a frame style. Then you'll see the color and thickness settings take effect.


Button Type

Button Type lets you choose Push, Radio, or Check Box.

The default is Push, a standard pushbutton.

Radio	A list of values with a round button beside each one. Users choose a button to select a value. Only one value can be selected at a time. Note: Changing the text in the label of a button does not alter the button's value. To alter the value of the button, inspectidh_glos_inspect the field and choose Display Type | Radio Buttons again.

Check Box	A list of values with a check box beside each one. Users choose a box to select a value. Any number of values can be selected at one time. Note: Changing the label of the check box does not alter its value. To alter the value of the check box, inspect the field and choose Display Type | Check Box again.

See Also

Button tool


Thickness

You can change the thickness of a line or a frame.

The Line Thickness or Frame Thickness menu choice displays a palette if you're designing for the screen, or a menu if you're designing for the printer.

Choose Thickness to display the Thickness palette or menu.

On drop-shadow frames, the size of the shadow is four times the frame thickness.


Font

Font lets you change typeface, size, style, and color from pop-up selection lists. To see the full Font palette click the button at the top of the Font pop-up list.

Typeface	The typefaces available from the Typeface menu depend on the fonts you have installed on your system. In a form or report, they also depend on whether you are designing for the screen or for the printer. Standard typefaces include Helvetica, Times Roman, Courier, and System.

Choose the typeface you want for the selected area of the table.

Note: If you are designing for the printer, what you see on the screen is a best match to a printer font on the selected printer. The screen font may not match the printer font exactly, resulting in anomalies where the object seems too big or too small.

Size	Displays a menu of available type sizes (in points). Choose the size you want for the selected text.

Style	Displays the available text styles.

Choose	To

Normal	Remove all style attributes from the text

Bold	Display the text in a heavier style

Italic	Display the text at a slanted angle

Strikeout	Display the text with a horizontal line running through it

Underline	Display the text with a horizontal line beneath it

Color	Changes the color of the text you've selected.

Changes apply to the object you're inspecting. To change font characteristics in all columns of the table at once, press Shift+F6 to inspect all fields.

See Also

Font palette


Typeface

Choose Typeface to display a menu of available typefaces. Standard typefaces include Helvetica, Times, Courier, and System.

The typefaces available from the Typeface menu depend on the fonts you have installed on your system. In a form or report, they also depend on whether you are designing for the screen or for the printer.

Note:	If you are designing for the printer, what you see onscreen is a best match to a printer font on the selected printer. The screen font may not match the printer font exactly, resulting in anomalies where the object seems too big or too small.


Size

Choose Size to change the point size of the type in text objects. Paradox displays a menu of available point sizes. Click the size you want to change the selected text. You can also change the size of selected fields.


Line

There is no help on this property at this time. Please refer to the User's Guide.


Line Style

Line style can apply to line objects as well as to Table window grid lines. Line style is also part of the line property on ellipses and the lines in graphs.

Choose Line Style to see a selection of different types of lines, including dashed lines of varying length. The Line Style palette opens. When you choose the style you want, all selected lines are changed to that style.


Line Type

Paradox gives you the option of drawing straight or curved lines. A straight line is the default. This is what you see when you click the Line tool, then drag across the design.

If you want the line you've drawn to be curved, inspect it and choose Line Type | Curved from its menu. Paradox curves the line.

To straighten a curved line, inspect it and choose Line Type | Straight.

See Also

Line tool


Line Ends

Paradox gives you the ability to place arrows on the ends of lines you draw. When you choose Line Ends, you can choose:

No Arrow	To tell Paradox you do not want an arrow at either end of the line. (This is the default choice.)

On One End	To tell Paradox to place an arrow on one end of the line. Because you create a line by clicking and dragging with the mouse, Paradox places the arrow on the end of the line where you released the mouse. The arrow points in the direction you dragged to create the line.

On Both Ends	To tell Paradox to place arrows on both ends of the line.

See Also

Line tool


Pattern

Use the properties on the Pattern menu to change the color or fill pattern of an object. A pattern will not show up unless the underlying object has a color other than transparent white.

Color displays the Color palette.

Style displays the Pattern palette.

From each palette, choose what you want (either click it or move to it and press Enter). Paradox applies your choice to the selected object(s) and removes the palette from the screen.

If choosing a pattern style does not seem to have any effect, make sure the object's foreground and background colors are different.

You can click the snap at the top of the palettes to keep them displayed.


Font

There is no help on this property at this time. Please refer to the User's Guide.


List

A list field is one in which you can choose a value from a list. For example, if you create a form for data entry into the Orders table, and you know that there are only five valid values for the Ship Via field, you can display these values in a list field object.

Using a list, you can avoid typing and spelling errors, and specify exactly what data can be entered in the field. The list display type limits possible values for entry in the field, because you cannot enter values that are not on the list (there is no type-in text box).

Choose Display Type | List to make a field object display as a list box on a form. The Define List dialog box opens, where you can specify the values you want to appear in the list.

See Also

Define List dialog box

Display Type


Count

There is no help on this property at this time. Please refer to the User's Guide.


Selection

There is no help on this property at this time. Please refer to the User's Guide.


Array

There is no help on this property at this time. Please refer to the User's Guide.


Visible

Visible is one of the properties on the Run Time menu, which affects the behavior of a form at run time (when you view or print the document).

Visible is checked by default. If you uncheck it, Paradox hides the object when you run (view or print) the document. This is used in forms by ObjectPAL to make objects appear and disappear. Unlike Run Time | Invisible (used in reports on lines and boxes), visible makes the children of the object disappear, as well as the object itself.

See Also

Invisible


Pin Horizontal

Pin Horizontal is one of the properties on the Run Time menu, which establishes the behavior of a report at run time (when you view or print the document).

In reports, choose Pin Horizontal if you want to pin an object to its horizontal position relative to its container. This means that expanding or contracting objects cannot move the pinned object horizontally.

See Also

Pin Vertical


Pin Vertical

Pin Vertical is one of the properties on the Run Time menu, which establishes the behavior of a report at run time (when you view or print the document).

In reports, choose Pin Vertical if you want to pin an object to its vertical position relative to its container. This means that expanding or contracting objects cannot move the pinned object vertically.

See Also

Pin Horizontal


Fit Width

When you inspect a text object in a report design, you see the Run Time property on its menu.

If you check Run Time | Fit Width, Paradox sizes the object when you run the report to fit the width of its contents. What this means depends on the type of object.

A text object grows or shrinks to exactly fit the size of its text and contained objects. Fit Width is available for text objects only when Word Wrap is not checked.

A field object fits the width of the text or graphic stored in the database. If the field is a button-style field (radio or check box), it sizes so all buttons are fully visible.

A record, box, or ellipse expands to show all contained objects. If the contained objects are Fit Width, they can cause this object (the container) to widen, maintaining the whitespace from the rightmost object to the rightmost edge.

See Also

Fit Height


Fit Height

When you inspect a text object in a report design, you see the Run Time property on its menu.

If you check Run Time | Fit Height, Paradox expands objects in a report vertically to show all of their contents when you run the report.

A text object fits font height when Word Wrap is not checked. It expands to fit all the text and contained objects when Word Wrap is checked. Extra lines can be added. Even if all text fits at design time without scroll bars, if the text object has contained objects that grow or shrink, this can cause the text object to change size.

A field object expands to fit the data (whether it's text or graphic or OLE). If the field is a button-style field, it expands so all buttons show.

A record, box, or ellipse expands so all contained objects show (for example, a table or a text object that expands). If the contained objects are Fit Height, the container tries to maintain whitespace from the bottom of the lowest object to the bottom of the container.

See Also

Fit Width


Invisible

You can place an invisible box or line to limit an object's expansion. Lines or boxes can be placed horizontally or vertically to inhibit the expansion of other objects and control the layout of your report.

Draw the box or line between the objects you want to control, then inspect the box or line and choose Run Time | Invisible.

Using invisible objects in designs

When you want an object that grows to push other objects that are not directly beneath or beside it, you can add a line beneath or beside it that extends far enough to push the other object.

This behaves like any other line, but since you do not want to see it (it is only for formatting), you make it invisible. It's the same as placing a transparent white color on the line, but you can see it at design time, and it is slightly more efficient at run time.

Similarly, you might want to have the formatting properties of a box (for example, grouping some objects that should all go on the same page and putting them in an unbreakable box) but not want to see the box. Again, this is the same as a transparent white frame, but you can see it at design time, and it is more efficient at run time.


Breakable

When you create a report, you might place some objects too close to the bottom to fit on the page. Or an object might grow too big to fit entirely on a page (a table with many records or a very large memo field, for example).

To make the object split, so the first part is on one page and the second part is on another, inspect the object and choose Run Time | Breakable.

To make the object stay intact and be pushed to the next page when it does not fit, uncheck the Breakable property.

Some objects (graphs, graphics, individual records in a table or multi-record objects) are never breakable.

If an object is not breakable and does not fit on one page, Paradox pushes it to the next page.

If it still does not fit on the second page, Paradox realizes it will never fit, and displays an error box telling you your report contains an object too large to fit.

If you're previewing a report and see a blank page unexpectedly, look at the next page to see if the object was pushed or cannot fit.

Note:	Record objects never break, even if a record contains a breakable field. If you have a report with a table or multi-record object and you get an "object too large" error, try changing to a single-record style report (with no unbreakable record objects) or making your records a fixed size (Fit Height is unchecked). In the latter case, the contents of the record that does not fit in the fixed height is clipped, but you can see everything that fits.


Horizontal Scroll Bar

Horizontal Scroll Bar places a horizontal scroll bar at the bottom of a crosstab, table, graphic, OLE, field, or text object.

Onscreen forms and reports can have scroll bars, but printed reports cannot.

See Also

Field tool

Text tool


Vertical Scroll Bar

Vertical Scroll Bar places a vertical scroll bar at the right of a crosstab, table, graphic, OLE, field, or text object.

On table and crosstab objects, vertical scroll bars scroll through data, not the underlying image. That's why the vertical scroll bar does not do anything when you click it in a design window. When you're viewing data, the vertical scroll bar acts like the navigation buttons on the SpeedBar to move forward and backward through records or sets of records.

Onscreen forms and reports can have scroll bars, but printed reports cannot.

See Also

Field tool

Text tool


Class

There is no help on this property at this time. Please refer to the User's Guide.


Container

There is no help on this property at this time. Please refer to the User's Guide.


Next

There is no help on this property at this time. Please refer to the User's Guide.


Prev

There is no help on this property at this time. Please refer to the User's Guide.


Manager

There is no help on this property at this time. Please refer to the User's Guide.


First

There is no help on this property at this time. Please refer to the User's Guide.


Text

Paradox treats text as a design element much like any other design element. Use the Text tool to place text in the design. You create text inside a frame.

Text objects in Paradox design documents behave differently, depending on how you create them.

You can click the Text tool, then click in the design area and begin typing. Paradox creates a single-row text object that expands to the right until you press Enter, moving the insertion point to a new line. As you continue typing, the text wraps automatically at the right border that you defined by pressing Enter, and continues to expand downward until you finish typing and click somewhere else in the design area. This is a Fit Text type of text object.

You can click the Text tool, then drag to place a frame in the design area. As you type, Paradox automatically wraps the text at the right border of the frame. When you reach the bottom of the frame, Paradox scrolls the text upward so you can view the data you're entering. This is a Fixed Size type of text object.


Conditional

Objects in the group header have the Conditional property. Conditional options give you the ability to specify when you want an object displayed.

Choose Print at Group & Page to display the object at the beginning of each group and at the top of each page, regardless of whether a group breaks across pages.

Choose Print Only at Group to display the object at the beginning of each group, but not at the top of each page (unless a group begins at the top of the page).

Choose Print Only at Page to display the object at the top of the page whenever a group breaks across pages. The object is never displayed on the first page of the report.

See Also

Headings


Repeat Header

When a table breaks across several pages, you have the option of repeating the table header at the top of each page. Paradox checks a table frame's Repeat Header property by default.

If you do not want to repeat the header at the top of each page, inspect the table frame and uncheck Repeat Header. This property is not available for a table frame with a detached header.


Delete When Empty

If you check Delete When Empty, Paradox deletes from the report any records that show no data in the report.

When Delete When Empty is unchecked, rows appear in the report for all records, including ones that show no data.

Delete When Empty is a property of record objects in a report, after they have been defined. Table frames and multi-record objects contain record objects.


Precede Page Header

Inspect the report band and choose Precede Page Header if you want the report header to appear before the page header. If Precede Page Header is unchecked, the report header will appear after the page header.

You will not see this in the Report Design window because the bands themselves do not move. When you preview or print the report, the report band and page band will be in the order you choose from the report band's menu.


Display Type

Use the properties on the Display Type menu to set the display type of a field object on a document.

Labeled	A field with its field label displayed, along with the value of the current record. The label and edit region cannot be removed or deleted from the field.

Unlabeled	A field without a label.

Drop-Down Edit	A list of values users can select from or type in their own value. The list box drops down when the arrow is selected.

List	A list of values users can select from. There is no type-in box. List is always in full view.

Radio Buttons	A list of values with a round button beside each one. Users click a button to select a value. Only one value can be selected at a time.

Note: Changing the text in the label of a button does not alter its value. To alter the value of the button, inspectidh_glos_inspect the field and choose Display Type | Radio Buttons again.

Check Box	A list of values with a check box beside each one. Users click a box to select a value. Any number of values can be selected at one time.

Note: Changing the label of the check box does not alter its value. To alter the value of the check box, inspect the field and choose Display Type | Check Box again.

When you choose Drop-down Edit, List, or Radio Buttons, the Define List dialog box opens. When you choose Check Box, the Check Box Values dialog box opens.

See Also

Define List dialog box

Check Box Values dialog box


Set

There is no help on this property at this time. Please refer to the User's Guide.


Print On 1st Page

Inspect the page band and choose Print On First Page if you want the contents of the page band to print on the first page of the report.

You can set this separately for the page header and footer.


Headings

Choose Headings | Page and Group if you want the group heading to be printed at the beginning of each group and at the top of a page when the group is continued across page breaks.

Items in headings marked Page and Group can appear at the start of groups, at the page continuation, or both.

Choose Headings | Group Only only if you want the group heading to be printed at the beginning of each group, but not at the top of a page when the group is continued across page breaks.

See Also

Conditional


Sort Order

Choose Sort Order | Ascending if you want the groups to be printed in A to Z or numeric order.

Choose Sort Order | Descending if you want the groups to be printed in Z to A or reverse numeric order.


Stretch

There is no help on this property at this time. Please refer to the User's Guide.


Spacing

Table grid lines separating columns can be single lines, double lines, or triple lines. When you make your choice, Paradox applies it to the whole table.

To hide the line under all column headings or between columns, uncheck Heading Lines or Column Lines on the Grid Lines menu.

To display lines between records, check Row Lines.

You can also change the line style by choosing Line Style from the Grid Lines menu.

Color

You can change the color of all the space around rows and columns in a table, as well as the color of any lines demarking rows and columns.

To change the color of the space, choose Color from the Grid menu.

To change the color of the lines, choose Color from the Grid Lines menu.


Heading Lines

In a Table window you can hide or display the grid lines under all column headings. When Heading Lines is checked (the default), the lines show. Uncheck Heading Lines if you do not want any line under your column headings.

You can choose your own line style and spacing for these lines.

Color

You can change the color of all the space around rows and columns in a table, as well as the color of any lines demarking rows and columns.

To change the color of the space, choose Color from the Grid menu.

To change the color of the lines, choose Color from the Grid Lines menu.

See Also

Line Style

Spacing


Column Lines

In a Table window you can hide or display the lines between columns. When Column Lines is checked (the default), the lines show. Uncheck Column Lines if you do not want the lines to show.

Note:	To inspect grid lines when they're hidden, move the pointer carefully under the heading until you come to the point where a column line would intersect it. The pointer changes to a double-headed horizontal arrow when it is on the grid. Then right-click.

You can choose your own line style and spacing for these lines.

Color

You can change the color of all the space around rows and columns in a table, as well as the color of any lines demarking rows and columns.

To change the color of the space, choose Color from the Grid menu.

To change the color of the lines, choose Color from the Grid Lines menu.

See Also

Line Style

Spacing


Row Lines

In a Table window you can hide or display the lines between records. When Row Lines is unchecked (the default), no lines appear between the records. Uncheck Row Lines to display lines between all records in the table.

You can choose your own line style and spacing for these lines.

Color

You can change the color of all the space around rows and columns in a table, as well as the color of any lines demarking rows and columns.

To change the color of the space, choose Color from the Grid menu.

To change the color of the lines, choose Color from the Grid Lines menu.

See Also

Line Style

Spacing


Current Record Marker

In a Table window you can choose to display or hide a current record marker. This is a horizontal line that appears beneath the current record.

Show	When Show is checked, the current record marker is visible.

Line Style	Displays the Line Style palette. When you choose a line style, Paradox displays the current record marker in that style.

Color	Displays the Color palette. When you choose a color, Paradox displays the current record marker in that color.


Show

Check Show to display a line indicating the current record. Paradox displays a thin, black line under the selected record.

You can choose your own line style and color for this line from the Line Style and Color palettes on the Current Record Marker menu.

See Also

Line Style

Color


Run Time

There is no help on this property at this time. Please refer to the User's Guide.


Alignment

In a Table window you can change the alignment of data in a field or text in a column heading. Text and data can be justified horizontally (at the left, center, or right of the column) or vertically (at the top, bottom, center, or bottom of the row).

To align a column heading, inspect the heading. When you make your choice, Paradox positions the selected column heading accordingly.

To align all data in a column, inspect any value in that column. When you make your choice, Paradox positions all data in the selected column accordingly.

Changes apply to the object you're inspecting. To change alignment in all columns of the table at once, press Shift+F6 to inspect all fields.


Spacing

There is no help on this property at this time. Please refer to the User's Guide.


Grid Lines

You can customize the grid in virtually any way you want. Inspect the grid and choose Grid Lines. Paradox lets you control what lines you display. You can:

Hide or display a line in the heading area by choosing Heading Lines.

Hide or display the vertical lines of the grid by choosing Column Lines.

Hide or display horizontal lines between the records of the table by choosing Row Lines.

Paradox provides more options that specify what the lines look like. You can:

Choose Line Style to choose from five different types of lines.

Choose Color to change the color of the lines.

Choose Spacing to choose the number of lines between each column or row you want to see. You can display single, double, or triple lines.


Columnar

Choose Columnar to expand or contract individual records in a multi-record object when you print or preview reports. This means that the multi-record object does not display the records in a fixed-size grid. Using the Columnar property, you can usually fit more records on a single page than you can without the Columnar property.

Note: When you check Columnar, the Record Layout dialog box must use the Top-Down, Then Left-Right setting.


Alignment

You can align values in a field or table object, or text in a text object.

Left	Lines up text at the left, with the right edge ragged.

Center	Clusters text in the middle of the object.

Right	Lines up text at the right, with the left edge ragged.

Justify	Spreads out text so both left and right margins are straight.


Date Format

Undefined and date fields have a Date Format property. Choose this to change the format in which Paradox displays dates in the selected field.

When you choose Date Format, Paradox displays a list of available date formats. Choose a format to apply to the selected field, or click the top of the list to open a dialog box where you can define your own customized format.

See Also

Select Date Format dialog box


Time Format

Undefined and time fields have a Time Format property. Choose this to change the format in which Paradox displays the time in the selected field.

When you choose Time Format, Paradox displays a list of available time formats. Choose a format to apply to the selected field, or click the top of the list to open a dialog box where you can define your own customized format.

See Also

Select Time Format dialog box


Number Format

Undefined fields, number fields, and numeric graph labels have a Number Format property. Choose this to change the format in which Paradox displays numbers in the selected field or graph.

When you choose Number Format, Paradox displays a list of available number formats. Choose a format to apply to the selected field, or click the top of the list to open a dialog box where you can define your own customized format.

See Also

Select Number Format dialog box


Value

There is no help on this property at this time. Please refer to the User's Guide.


Line Spacing

In text or memo fields, Line Spacing lets you determine how far apart lines of text are spaced. You can choose the number of lines between each column or row you want to see. The choices are 1, 1.5, 2, 2.5, or 3 lines.


Design Sizing

The way you create a text object determines how Paradox initially sets its sizing option. You can override the automatic setting by inspecting the text object and choosing Design Sizing. You have three choices:

Fixed Size	Fixed Size objects do not grow (or shrink) horizontally or vertically to fit the amount of text they contain. If you want to change the size of the object, select it and resize it manually. In a fixed-size text object, Word Wrap must be checked. If you type in more text than fits, the text scrolls as you type. To make all the text available when the form is run, add scroll bars.

Fit Text	Fit Text objects grow or shrink to fit the amount of text they contain.

If you choose Design Sizing | Fit Text and Word Wrap for a text object, the object grows or shrinks vertically to fit the amount of text it contains. Text wraps at the right side of the frame.

If you choose Design Sizing | Fit Text without Word Wrap, the object can only be one line. It grows or shrinks horizontally to fit the amount of text it contains.

Grow Only	Grow Only objects grow but do not shrink to fit the amount of text they contain.

If you choose Design Sizing | Grow Only and Word Wrap for a text object, the object grows vertically to fit the amount of text it contains. Text wraps at the right side of the frame.

If you choose Design Sizing | Grow Only without Word Wrap, the object can only be one line. It grows horizontally to fit the amount of text it contains.

See Also

Text tool

Word Wrap


Orphan/Widow

An orphan is a single line of text at the bottom of a page which has been separated from the paragraph it begins.

A widow is a single line of text at the top of the page which has been separated from the paragraph it ends.

If your text object is breakable, you'll probably encounter orphans and widows. Check Run Time | Orphan/Widow to prevent orphans and widows.


Field Squeeze

In a text object, check Run Time | Field Squeeze to push or pull an object embedded in a line of text. When you run the report, Paradox extracts the text value of the field and wraps it in its position within the line of text. The text following the field value is correctly spaced.

Field Squeeze is available only inside text objects.


Line Squeeze

If a text object's Run Time | Line Squeeze property is checked, and if there is only one field embedded in a line of text, and the field value is blank, Paradox blanks out the entire line of text that contains the blank field.

Line Squeeze is available only inside text objects.


Methods

Choose Methods to apply ObjectPAL code to an object. This is how you assign functionality to the object.

See Also

Introduction to ObjectPAL

ObjectPAL type reference


Owner

There is no help on this property at this time. Please refer to the User's Guide.


Data Owner

There is no help on this property at this time. Please refer to the User's Guide.


Read Only

In a table

Read only prevents a table from being edited. Read only tables can be viewed but not edited.

For non-master tables in a one to one data model relationship, Read only is the default setting. Read only is also the default setting for all SQL tables.

You can turn on the Read only setting for any table.

In a field

Choose Read Only if you want to keep the data in a field from being changed.

Read Only fields can be viewed but not edited.


Grid Style

On table objects or crosstab objects, Grid Style can be single, double, triple, 3D, or None. When you make your choice, Paradox applies it to the whole object.

Tip:	Choose None for reports, because printing the grid can take a long time on many printers.


Grid

Use the Grid property to configure the grid in a table frame. It has submenus for

grid style

row dividers (whether they should appear at run time)

color


Graph Type

A wide variety of graph types are possible. Inspect the graph object's properties to change the graph type and customize the graph display.

When you choose a graph type, Paradox turns your graph into that type.


@OVERSTRIKE

There is no help on this property at this time. Please refer to the User's Guide.


Max Groups

Max Groups lets you control the number of groups (series) a 2-D Summary graph displays. By default, Paradox displays 8 groups. If your data has too many groups to display clearly, you might want to see only the first few groups.

When you choose Max Groups, you can choose a number from the list. Or click the top of the list to open a dialog box, then type in a higher number.

Inspect a 2-D Summary graph object to change the Max Groups property.


Min X-Values

Min x-values is the minimum number of values represented on the x-axis.


Max X-Values

Max x-values is the maximum number of x-values represented on the x-axis. If your data has more x-values, the graph must scroll.


Options

There is no help on this property at this time. Please refer to the User's Guide.


Title Box

When you place a new graph object on a form or report, the title is "Undefined Graph." Inspect the title area to

Generate a default graph

Open the Define Graph dialog box

If you're creating a two-dimensional summary graph, choose a field whose values you want to group the summary values by

Define a title

Define a subtitle

Format the display of the title area

To generate a default graph or open the Define Graph dialog box, inspect the title area and choose Define Graph from its menu.

See Also

Define Graph dialog box


Legend Box

There is no help on this property at this time. Please refer to the User's Guide.


X-Axis

Before Paradox can display a graph, you must tell it what information you want to use. This means you have to define the x-axis and y-axis values. You can inspect the axis areas individually.

Inspect the x-axis area and choose Define X-Value from its properties menu. You see a list of available fields from table(s) in the document's data model. (Some fields or tables might be meaningless along the x-axis and therefore not included in this list.) Choose the field whose values you want displayed across the bottom of the graph. Or click the top of the list to open the Define Field Object dialog box.

You can also choose

Title	To change the x-axis label.

Ticks	To change the way tick marks are labeled along the x-axis.

See Also

Define Field Object dialog box


Y-Axis

Before Paradox can display a graph, you must tell it what information you want to use. This means you have to define the x-axis and y-axis values. You can inspect the axis areas individually.

Inspect the y-axis area and choose Define Y-value from its properties menu. You see a list of available fields from the table(s) in the document's data model. (Some fields or tables might be meaningless along the y-axis and therefore not included in this list.) Choose the field whose values you want along the left side of the graph. Or click the top of the list to open the Define Field Object dialog box. You can add more than one y-axis value if you want to.

You can also choose

Title	To change the y-axis label.

Scale	To adjust the scale of the y-axis.

Ticks	To change the way tick marks are labeled along the y-axis.

See Also

Define Field Object dialog box

Auto-Scale


Series

When you place a new graph object on a form or report, undefined series appear in the undefined object. Inspect these series separately to choose a field to define them and to format their display. To choose a field, choose Define Y-Value from the series' menu.

Tabular or one-dimensional summary Y-axis values

While the data type of the graph is tabular or one-dimensional summary, you can add more series to the original undefined ones by inspecting the Y-axis area, choosing Define Y-Value from its menu, and choosing additional fields from the Define Y-Value menu.

Two-dimensional summary Y-axis values

While the data type of the graph is two-dimensional summary, you can only choose one field for the single series allowed for this data type.

Formatting the series, including type override

Besides choosing the field whose values you want to be the particular series' values, you can format that series' display by choosing display options from its menu. In particular, you can choose Type Override with some graph types to make one series another type, such as line and marker, than the other series, which might be bar, for example.

See Also

Inspecting the entire graph object

Inspecting the X-axis

Inspecting the Y-axis

Inspecting the title area

Inspecting the background


Slice

You can inspect individual slices in a pie graph to change

The color of the slice

The pattern (its color and style)

You can also check Explode to make the selected slice appear separated from the rest of the pie.


Background

Inspect the background area in a graph to set its color and pattern.

Both the Color and Style palettes have snaps at the top that you can click to keep the palette onscreen while you inspect other parts of the graph.


Left Wall

Choose a color and pattern for the left wall of the graph.

Color

When you choose Color, the Color palette appears, where you can choose a color or mix your own.

Pattern

When you choose Pattern, you can pick a pattern from the Style palette, then pick the color for the pattern from the Color palette.

See Also

Color palette

Creating custom colors


Back Wall

Choose a color and pattern for the back wall of the graph.

Color

When you choose Color, the Color palette appears, where you can choose a color or mix your own.

Pattern

When you choose Pattern, you can pick a pattern from the Style palette, then pick the color for the pattern from the Color palette.

See Also

Color palette

Creating custom colors


Base Floor

Choose a color and pattern for the floor of the graph.

Color

When you choose Color, the Color palette appears, where you can choose a color or mix your own.

Pattern

When you choose Pattern, you can pick a pattern from the Style palette, then pick the color for the pattern from the Color palette.

See Also

Color palette

Creating custom colors


Show Title

Options | Show Title toggles the display of a graph's title on and off. On is the default.

Inspect a graph object to view or change this property.


Show Legend

Options | Show Legend toggles the legend on and off. Off is the default.

When Show Legend is checked, Paradox shows a legend that maps the colors of graph elements to what they represent.

This option is available for all 2-D graphs except Pies and Columns. It is also available for 3-D Stacked Bar, Rotated Bar, and Area graphs.

Inspect a graph object to view or change this property.

See Also

Legend Position


Show Grid

Options | Show Grid toggles the display of the grid on and off. On is the default.

When Show Grid is checked, Paradox displays the grid lines on the graph as dotted lines. Uncheck Show Grid to display a graph without grid lines.

This option is available for all 2-D graphs except 2-D Pie and 2-D Columns. It is not available for any 3-D graphs.

Inspect one of these graph objects to view or change this property.


Show Axes

Options | Show Axes toggles on and off the display of tick marks along a graph's axes. On is the default.

When Show Axes is checked, Paradox displays tick marks along a graph's axes. Uncheck Show Axes to display a graph without tick marks.

This option is available for all graphs except Pies and Columns.

Inspect a graph object to view or change this property.

See Also

Auto-Scale

Logarithmic

Low Value

High Value

Increment


Rotation

Options | Rotation lets you turn a graph around its vertical axis by the number of degrees you choose. Choose 15 degrees to see the graph mostly from the front. Choose 75 degrees to see it mostly from the right end.

This option is available for all 3-D graphs except 3-D Pie and 3-D Columns.

Inspect one of these graph objects to view or change this property.


Elevation

Options | Elevation lets you change the angle from which you view a 3-D graph. Choose 15 degrees to look nearly straight down on it. Choose 75 degrees to view it nearly head-on.

This option is available for all 3-D graphs except 3-D Pie and 3-D Columns.

Inspect one of these graph objects to view or change this property.


Title

There is no help on this property at this time. Please refer to the User's Guide.


Subtitle

There is no help on this property at this time. Please refer to the User's Guide.


Legend Position

Use Options | Legend Position to position a legend at the right or along the bottom of a graph.

Inspect a legend box on a graph object to view or change this property. If there is no legend, inspect the whole graph object and check Options | Show Legend.

Legends are available for all 2-D graphs except Pies and Columns. They are also available for 3-D Stacked Bar, Rotated Bar, and Area graphs.

See Also

Show Legend


Scale

Choose Scale to multiply the number by a given power of 10. If, for example, you enter 3 in the Scale text box, you'll see the example number multiplied by 103. Choose a negative value to divide the number by a given power of 10.


Ticks

There is no help on this property at this time. Please refer to the User's Guide.


Auto-Scale

Use Scale | Auto-Scale to make a numeric axis fit the range of data in a graph object. Auto Scale is checked by default.

You can also set the range manually. To do this, uncheck Auto-Scale, then choose and set values for Low Value, High Value, and Increment.

Inspect a numeric axis on a graph object and choose Scale to view or change this property.

See Also

Logarithmic

Show Axes

Low Value

High Value

Increment


Logarithmic

Use Scale | Logarithmic to make a graph's numeric axis logarithmic. Logarithmic is unchecked by default.

Note:	Before you check Logarithmic, make sure all data values to be graphed are positive (>0). If Auto-Scale is not checked, make sure you've set positive values for both Low Value and High Value.

Inspect a numeric axis on a graph object and choose Scale to view or change this property.

See Also

Auto-Scale

Show Axes


Low Value

Use Scale | Low Value to tell Paradox the lowest value you want displayed along a graph's numeric axis. When you check Low Value, a dialog box opens where you type the low value.

You can specify a low value when all your data points are high numbers and you want to display only the range they fall in, giving better resolution in that range. Manual scaling also prevents Paradox from automatically rescaling for every new data set (for example, scrollable graphs in forms, or detail graphs).

Low Value is available only when Scale | Auto Scale is unchecked.

Note:	If Logarithmic is checked, Low Value must be >0.

Inspect a numeric axis on a graph object and choose Scale to view or change this property.

See Also

High Value

Auto-Scale

Logarithmic

Show Axes


High Value

Use Scale | High Value to tell Paradox the highest value you want displayed along a graph's numeric axis. When you check High Value, a dialog box opens where you type the high value.

You can specify a high value when all your data points are low numbers and you want to display only the range they fall in, giving better resolution in that range. Manual scaling also prevents Paradox from automatically rescaling for every new data set (for example, scrollable graphs in forms, or detail graphs).

High Value is available only when Scale | Auto Scale is unchecked.

Note:	If Logarithmic is checked, Low Value must be >0.

Inspect a numeric axis on a graph object and choose Scale to view or change this property.

See Also

Low Value

Auto-Scale

Increment

Show Axes


Increment

Use Scale | Increment to change the space between tick marks on a graph's numeric axis.

When you check Increment, a dialog box opens where you type the number of units you want between tick marks on the selected axis.

Note:	Paradox does not accept an increment smaller than it can display.

Increment is available only when Scale | Auto Scale is unchecked.

Inspect a numeric axis on a graph object and choose Scale to view or change this property.

See Also

Low Value

Auto-Scale

Show Axes


Alternate

Use Ticks | Alternate when you have labels on a graph's x-axis that are too close together to read. When Alternate is checked, Paradox displays every other label on a second line under the axis.

Alternate is available only on the x-axis. It is available in all 2-D graphs except xy and 2D Rotated Bar.

Inspect a numeric axis on a graph object to view or change this property.

See Also

Show Axes


Use Default

When you define a graph, Paradox uses the table title for the graph title by default. For axis titles, it uses the field names you defined for those axes.

You can change a graph or axis title by inspecting it and choosing Title | Text, then typing the title you want in the Enter Title dialog box. You can also give the graph a subtitle by choosing Subtitle | Text and typing a subtitle.

To return to the default title, inspect the graph or axis title and choose Title | Use Default. To get your own title back again, uncheck Title | Use Default.

Checking Subtitle | Use Default removes any subtitle you created for the graph. To get it back, uncheck Subtitle | Use Default.

Note:	If Data Type | 2D Summary is checked, the subtitle shows the grouping field name.


Type Override

Choose Type Override to quickly change the selected series in a graph to a different display type from the rest of the graph. You can make the selected series display as a 2-D Bar, 2-D Line, or 2-D Area graph, while the other series remain as they are.

For example, in a bar graph with two series, you can select one series and make it display as a line instead of a bar.

Type Override is available for any 2-D Bar, 2-D Line, or 2-D Area or Rotated Bar graph.

Inspect the series (line, bar, or area) to change it to a different display type.


Label

There is no help on this property at this time. Please refer to the User's Guide.


Marker

Use Marker to change the way data points are indicated along an xy or 2-D Line graph.

Inspect the line to see the Marker property. When you choose Marker, a list of marker types appears. Choose a marker type from the list.

If you choose a solid marker, you can change its color by inspecting the line and choosing Color, then using the Paradox color palette.

Choose Line from the line's menu to change the style, color, or thickness of the line.

See Also

Line Style

Color

Thickness


Label Location

Use Label Location to specify where you want to show y values for all data points on a graph.

Label Location is available for xy, 2D Bar, 2D Rotated Bar, and 2D Line graphs.

To see the labels, first inspect the graph object and check Options | Show Labels. Then inspect the graph again, choose Label | Label Location, and choose the position you want. The positions available depend on the graph type.

See Also

Show Labels


Label Format

Use Label Format to change the way values on the y-axis are displayed on some graphs.

When you inspect a graph and choose Label | Label Format, you can choose to display y-axis values as percent values or in the units used in the table, or not display them at all.

Label Format is available only for 2-D and 3-D Pie and Column graphs.


Explode

Choose Explode to make the slice you're inspecting appear separated from the rest of the pie chart.


Cur Series

There is no help on this property at this time. Please refer to the User's Guide.


Cur Slice

There is no help on this property at this time. Please refer to the User's Guide.


Data Type

Use Data Type to switch among Table, 1D Summary, and 2D Summary graphs.

You can also specify data type in the Define Graph dialog box.

When you inspect a graph object and choose Data Type, you can choose

Table	The default. A tabular graph takes its data directly from the table, rather than summarizing the data in the table. Tabular graphs are available for forms and reports.

1D Summary	A 1-D Summary crosstab analyzes one type of data in light of another. 1d-Summary graphs are available for reports only.

2D Summary	A 2-D Summary crosstab summarizes information by more than one category. 2d-Summary graphs are available for reports only.

Note:	Changing the data type causes the graph object to change. Choices on objects' menus change according to data type as well.

See Also

Choosing the graph's data type

Specifying X-axis values

Specifying the Y-axis

Specifying an additional grouping field in a 2-D summary graph


Contain Objects

When one object exists completely within the borders of another, it can be contained by the outside object. Contained objects move when you move their containers, and are deleted when you delete their containers. When users tab between objects on a form, they tab to all objects within a container before tabbing to any objects outside the container.

Choose Design | Contain Objects to ensure that objects contained inside are moved when you move their surrounding object. When this option is checked, objects inside the container can be dragged out of it, but you cannot move the container without moving its contained objects. Properties applied to the container, however, still affect only the container, not the objects in it (unless you use Ctrl+right-click). If you want to delete an object but not the objects it contains, turn off Contain Objects and then choose Del.

Note:	You cannot resize an object smaller than the objects it contains.

See Also

Containing objects

Tab Stop


Style

Font | Style displays a menu of font styles (like Bold or Italic).

See Also

Font


Pin Horizontal

Choose Pin Horizontal to prevent an object from moving left or right by accidental mouse moves. It can still be moved by choosing Align from the menu.

When you pin an object horizontally, you can move it up or down across the design, but Paradox prohibits you from moving it left or right.


Pin Vertical

Choose Pin Vertical to prevent an object from moving up or down by accidental mouse moves. It can still be moved by choosing Align from the menu.

When you pin an object vertically, you can move it left or right on the design, but Paradox prohibits you from moving it up or down.


Word Wrap

Word Wrap is a property of field objects and text boxes.

Fields	Choose Word Wrap if you want the contents of a field (all fields except graphic and OLE) to display in more than one line when they exceed the width of the field object.

Text	All text objects have the Word Wrap option on their menus. Choose this if you want Paradox to wrap text automatically at the text object's frame. If Word Wrap is turned off, you can have only one line of text in the text object. Pressing Enter does not create a new line.

See Also

Text tool

Design Sizing

Wrapping in memo fields


Complete Display

There is no help on this property at this time. Please refer to the User's Guide.


Show Labels

Options | Show Labels toggles on and off the display of y values at all data points in a graph. Off is the default.

When Show Labels is checked, Paradox shows the y values.

This option is available for these graph types:

xy

2D Bar, Rotated Bar, and Line

3D Bar, Rotated Bar, Ribbon, and Step

Inspect a graph object to view or change this property.

See Also

Label Location


Define Table

When you inspect a table frame and choose Define Table, a menu of available tables appears. These are the tables you placed in the Data Model dialog box. Choose the table whose fields you want displayed. The table frame expands to fit all the fields. A horizontal scroll bar appears if you cannot see all the fields.

If you do not see the table you want when you inspect the table frame, or if you want to choose a subset of the fields, choose Define Table, then click the top of the menu of available tables. This opens the Define Table Object dialog box.

See Also

Define Table Object dialog box


Define Field

Inspect a field object and choose Define Field. Paradox displays a menu of available fields if you have specified one or more tables in the Data Model dialog box.

Choose a field in the list, or click the top of the list to open the Define Field Object dialog box. In this dialog box you can

Choose fields from other tables in the data model.

Define calculated fields or special fields.

Choose summaries.

Click the Data Model button to add tables to the data model.

If your document is not bound to any table, the Define Field menu shows Paradox special fields:

Today

Now

Page Number

Number of Pages

Undefined Field (checked by default)

Click the top of this list to open the Define Field Object dialog box. From there, you can click the Data Model button to open the Data Model dialog box, where you can specify tables to use in the document.

See Also

Define Field Object dialog box

Data Model dialog box


Dialog

There is no help on this property at this time. Please refer to the User's Guide.


Define Group

Inspect a group band in a report and choose Define Group. A menu of available fields is displayed.

Choose a field in the list, or click the top of the list to open the Define Group dialog box. In this dialog box you can specify ranges on which to group.

See Also

Define Group dialog box

Group bands


Magnification

Choose Magnification to size a graphic to fit in its container.

You can display the graphic at 25%, 50%, 100%, 200%, or 400% of its original size. Paradox proportionally resizes the graphic to the setting you choose.

You can also choose Best Fit, which selects the largest magnification that will leave all of the bitmap showing.


Size To Fit

Field objects

Choose Size To Fit if you want a field to expand or contract in the design window based on the display type you choose.

For example, a labeled field needs more room than an unlabeled field.

If you change display types from an unlabeled field to a labeled field without checking Size To Fit, the field remains the same size and the label object and field object compete for space.

If you change display types and check Size To Fit, the field object expands to accommodate the new label.

When Size To Fit is checked, the field resizes when you

Change display type

Redefine the field

Change font

Move or resize anything contained in the field

If you manually resize the field, it stays that size until you do one of the above four actions.

It's a good idea to have Size To Fit on if you resize a field label or redefine the field.

Table objects

Check Size To Fit if you want the table frame to expand to fit all fields in the table you've defined. If you leave this unchecked, the table frame retains the size and shape you created when you placed it.

If you manually resize the table, Paradox automatically unchecks Size To Fit.

Graphic and OLE objects

You can also use Size To Fit with graphic and OLE objects to make them fit the data they're designed to display. To resize graphic and OLE objects, you must first uncheck Size To Fit.

Window objects

When you inspect the title bar of a Form Design or Report Design window and check Size To Fit, Paradox automatically sizes the window to fit the page size of the document. (You can change the page size in the Page Layout dialog box.)

Before any change in the Size To Fit property can take effect, you must save the document, close the design window, and open the document again.

The effect of choosing Size To Fit might not be apparent unless your page size is smaller than your screen display size.

See Also

Page Layout dialog box (Forms)

Page Layout dialog box (Reports)


Remove This Y-Value

Use Remove This Y-Value to remove a series from a graph. This is quicker than opening the Define Graph dialog box and removing one of the Y-values.

When you inspect a series (a bar, for example) and choose Remove This Y-Value, the series is no longer displayed, and the field is no longer on the Y-Value fields list in the Define Graph dialog box.

This option is available with Tabular and 1D Summary data types.

See Also

Define Graph dialog box


Tab Stop

Users can tab from one object to another on a form.

Inspect an object and choose Run Time | Tab Stop to include the object in the tab sequence. Fields, buttons, and graphs have a Tab Stop property.

When Tab Stop is checked, users can move to the object by using the Tab key, arrow keys, or ObjectPAL.

When users tab to a field in Edit mode, they can edit it.

When users tab to a graph, they can scroll it.

When users tab to a button, they can press Enter to activate the button.

Users must tab to all objects within a container before they can tab to any objects outside the container.

See Also

Contain Objects


Design

All design objects have the Design choice available on their property menus. When you inspect an object and choose Design, you see a menu of properties that Paradox applies to the object only in the design window. These properties help you work with objects in the Form Design or Report Design windows.

The Design choices available differ depending on the object you inspect. For example, Contain Objects is not available for a line because a line is incapable of containing another object. On the other hand, some objects (like tables) are always containers, and you cannot uncheck the Contain Objects property.

Design | Pin Horizontal prevents the object from moving left or right across the design.

Design | Pin Vertical prevents the object from moving up or down.

Design | Size To Fit causes an object to expand or contract automatically in the design window based on the window's contents.

Design | Contain Objects causes within the selected container to move with their container.

See Also

Pin Horizontal

Pin Vertical

Size To Fit


Logical Format

dBASE logical fields have the Logical Format choice on their menu. Choose it to select which values to accept in the logical field. Choose one of the pairs in the list, or click the top of the list to open a dialog box where you can define your own custom formats.


Timestamp Format

Choose Timestamp Format to change the display format of a time/date field. Choose one of the values in the list, or click the top of the list to open the Select Timestamp dialog box where you can define your own custom formats.

See Also

Select Timestamp Format dialog box


No Echo

Choose No Echo if you want to not display the contents of a field.

No Echo is useful for a field where users type in a password. They can enter data, but it is not displayed.


Columnar

Choose Columnar to expand or contract individual records in a multi-record object when you print or preview reports. This means that the multi-record object does not display the records in a fixed-size grid. Using the Columnar property, you can usually fit more records on a single page than you can without the Columnar property.

Note: When you check Columnar, the Record Layout dialog box must use the Top-Down, Then Left-Right setting.


Editing

In ObjectPAL, this read-only property of a manager or TV window indicates whether you are in Edit mode.


NRecords

There is no help on this property at this time. Please refer to the User's Guide.


SeqNo

There is no help on this property at this time. Please refer to the User's Guide.


Arrived

There is no help on this property at this time. Please refer to the User's Guide.


Focus

There is no help on this property at this time. Please refer to the User's Guide.


RowNo

There is no help on this property at this time. Please refer to the User's Guide.


Touched

There is no help on this property at this time. Please refer to the User's Guide.


@CURLINE

There is no help on this property at this time. Please refer to the User's Guide.


@CURCOLUMN

There is no help on this property at this time. Please refer to the User's Guide.


@CURPOS

There is no help on this property at this time. Please refer to the User's Guide.


@MARKPOS

There is no help on this property at this time. Please refer to the User's Guide.


@TOPLINE

There is no help on this property at this time. Please refer to the User's Guide.


@SELECTEDTEXT

There is no help on this property at this time. Please refer to the User's Guide.


Format of X-Value

Use Format of X-Value to change the way x-axis values are displayed on some graphs.

When you inspect a graph and choose Label | Format of X-Value, you can choose to display x-axis values in any of the number formats listed. To define your own format, click the top of the list. The appropriate dialog box opens.

Label Format is available only for 2- and 3-D Pie and Column graphs.


Selectable

When this option is toggled on, you can select any object by clicking on it. Uncheck Selectable to prevent the object from being selected by a mouse click. You can still select any objects which the object contains, and you can still inspect the object by right-clicking it.

Selectable is on by default.


Z-Axis

Inspect the Z-Axis on a 3-D graph to change the Font used in its label. You can change

Typeface

Size

Style

Color

For each of these properties, a palette of choices appears.


Label Text

There is no help on this property at this time. Please refer to the User's Guide.


Center Label

Choose Center Label to cause a push button to automatically keep its label centered. If the button has no label, this option is not available.

If you move the label away from a centered position, this property is automatically turned off.


Record Divider

Places horizontal lines between records of a table frame. This makes it easier to scan across the records of large table frames.


Locked

There is no help on this property at this time. Please refer to the User's Guide.


Field Type

There is no help on this property at this time. Please refer to the User's Guide.


Field Rights

There is no help on this property at this time. Please refer to the User's Guide.


Field View

There is no help on this property at this time. Please refer to the User's Guide.


Document View

There is no help on this property at this time. Please refer to the User's Guide.


Required

There is no help on this property at this time. Please refer to the User's Guide.


Minimum

There is no help on this property at this time. Please refer to the User's Guide.


Maximum

There is no help on this property at this time. Please refer to the User's Guide.


Default

There is no help on this property at this time. Please refer to the User's Guide.


Picture

There is no help on this property at this time. Please refer to the User's Guide.


Lookup Table

There is no help on this property at this time. Please refer to the User's Guide.


Lookup Type

There is no help on this property at this time. Please refer to the User's Guide.


RecNo

There is no help on this property at this time. Please refer to the User's Guide.


Start

There is no help on this property at this time. Please refer to the User's Guide.


End

There is no help on this property at this time. Please refer to the User's Guide.


Detach Header

Choose Detach Header to separate the header area (the labels) from the body of a table. You can then

Move the header wherever you want.

Move the header to another band (in a report).

Delete the header if you do not want the labels to show.

A detached table and header line up with each other automatically.

Attach Header

When you choose Detach Header, the menu selection becomes Attach Header. Choose Attach Header to reattach a header.


BlankRecord

There is no help on this property at this time. Please refer to the User's Guide.


Inserting

There is no help on this property at this time. Please refer to the User's Guide.


Shrinkable

Sometimes, when an object in a report (such as a box or a report band) begins near the bottom of a page, it has enough room for all contained objects, but not for the whitespace below the last object.

To tell Paradox to ignore this final whitespace, check Shrinkable. The object shrinks it to fit on the current page by clipping off the whitespace.

When Shrinkable is checked, it takes precedence over

Breakable (when checked)

Fit Height (when unchecked)

See Also

Breakable

Fit Height


Field Size

There is no help on this property at this time. Please refer to the User's Guide.


FieldUnits2

There is no help on this property at this time. Please refer to the User's Guide.


Field Name

There is no help on this property at this time. Please refer to the User's Guide.


FieldNo

There is no help on this property at this time. Please refer to the User's Guide.


Deleted

There is no help on this property at this time. Please refer to the User's Guide.


Complete Display

Memo and formatted memo field types have a Complete Display property. This is available in a Table window and on the object's Run Time menu in a Form Design window.

Paradox stores memo and formatted memo fields in a separate file (with the .MB extension), not in the table itself. The table contains a portion of the field (this is the size you specify from the Create Table dialog box), and a pointer to the .MB file. Paradox searches for the contents of these fields when you display them onscreen.

Check Complete Display if you want to see all the record values displayed all the time. Uncheck Complete Display if you want to see only the value of the current field. You can move through the records of the table more quickly if you uncheck Complete Display.

Note:	If you're working with a dBASE memo field, Paradox does not store any memo data in the .DBF file. Because of this, when you uncheck Complete Display on dBASE memo fields, you will not see any of the memo. Instead, you'll see a marker indicating that there is data in the memo field. When you select the field, Paradox displays the memo value from the .DBT file.


"" (PAL only?)

There is no help on this property at this time. Please refer to the User's Guide.


Window Style

Window Style gives you advanced options in designing forms. You specify whether you want your form to appear as a window or a dialog box, and set its title and border properties.

When you choose Window Style, the Form Window Properties dialog box opens.

See Also

Form Window Properties dialog box


Minimize Box

There is no help on this property at this time. Please refer to the User's Guide.


Maximize Box

There is no help on this property at this time. Please refer to the User's Guide.


Border

There is no help on this property at this time. Please refer to the User's Guide.


Caption

There is no help on this property at this time. Please refer to the User's Guide.


Dialog Frame

There is no help on this property at this time. Please refer to the User's Guide.


System Menu

There is no help on this property at this time. Please refer to the User's Guide.


Thick Frame

There is no help on this property at this time. Please refer to the User's Guide.


Title

There is no help on this property at this time. Please refer to the User's Guide.


Width

There is no help on this property at this time. Please refer to the User's Guide.


Row Height

There is no help on this property at this time. Please refer to the User's Guide.


Heading Height

There is no help on this property at this time. Please refer to the User's Guide.


Key Field

There is no help on this property at this time. Please refer to the User's Guide.


Index Field

There is no help on this property at this time. Please refer to the User's Guide.


Field Valid

There is no help on this property at this time. Please refer to the User's Guide.


MODALDIALOG

There is no help on this property at this time. Please refer to the User's Guide.


LISTFILL

There is no help on this property at this time. Please refer to the User's Guide.


Raster Operation

When you define a graphic object, you identify a source graphic (the file you choose) to be placed in a destination (your computer's screen). Most often, Paradox assumes you want an unchanged copy of the source placed on the screen.

Suppose, however, you want the source graphic and the screen to interact. You might want to make the source graphic transparent, so the color of the page shows through it, or you might want to invert the color of the source graphic. When you want to achieve these kinds of effects, use the graphic object's Raster Operation properties.

Raster operations define how Paradox combines the source graphic with the destination, inverting, combining, including or excluding colors to your specifications. Paradox uses the Boolean AND, OR, and XOR comparison operators to combine individual pixels of color during raster operations.

Demonstration

To see the effects of these raster operations, open RASTEROP.FSL in your EXAMPLES subdirectory (or wherever you installed the ObjectPAL sample applications).

Source Copy	Copies an unchanged source graphic to the destination.

Source Paint	Combines the source graphic and the destination using the Boolean OR operator.

Source And	Combines the source graphic and the destination using the Boolean AND operator.

Source Invert	Combines the source graphic and the destination using the Boolean XOR operator.

Source Erase	Inverts the colors of the destination and combines it with the source graphic using the Boolean AND operator.

Not Source Copy	Inverts the colors of the source graphic and copies it to the destination.

Not Source Erase	Combines the source graphic and the destination using the Boolean OR operator.

Merge Paint	Inverts the colors of the source graphic and combines it with the destination using the Boolean OR operator.


MOUSEACTIVATE

There is no help on this property at this time. Please refer to the User's Guide.


REFRESH

There is no help on this property at this time. Please refer to the User's Guide.


PERSIST

There is no help on this property at this time. Please refer to the User's Guide.


NCOLS

There is no help on this property at this time. Please refer to the User's Guide.


NROWS

There is no help on this property at this time. Please refer to the User's Guide.


STANDARDMENU

There is no help on this property at this time. Please refer to the User's Guide.


Define Crosstab

When you inspect a crosstab object and choose Define Crosstab, a menu of available tables appears. These are the tables you placed in the Data Model dialog box. When you choose the table whose fields you want displayed in the crosstab, Paradox defines a default crosstab for you.

To define your own crosstab, click the top of the menu of available tables. This displays the Define Crosstab dialog box.

Paradox gives you two ways to define a crosstab:

Open the Define Crosstab dialog box and make all your decisions at once about defining fields, grouping, summarizing, and so on.

Develop the crosstab definition piece by piece from menu selections for the parts of the crosstab object that have their own menus.

See Also

Using crosstabs and graphs


Define Graph

When you inspect a graph object and choose Define Graph, a menu of available tables appears. These are the tables you placed in the Data Model dialog box. Only the detail table of a one-to-many data model is available in this menu. When you choose the table whose fields you want displayed in the graph, Paradox defines a default graph for you.

To choose the fields you want for x- and y-axes, click the top of the menu of available tables. This displays the Define Graph dialog box.

Paradox gives you two ways to define a graph:

Open the Define Graph dialog box and make all your decisions at once about defining fields, grouping, summarizing, and so on.

Develop the graph definition piece by piece from menu selections for the  parts of the graph object that have their own menus.

See Also

Creating a graph


Define Record

When you inspect a record in a table frame and choose Define Record, a menu of available tables appears. These are the tables you placed in the Data Model dialog box. Choose the table whose fields you want displayed in the record.

If you do not see the table you want, click the top of the menu of available tables. This displays the Define Table Object dialog box.


You are in the object's menu.

Properties followed by an arrow  [image]  display other properties when you click them.

To get help on a property followed by  [image], first press Enter or Right arrow to see the next menu level. Then press F1 on any of these properties.

You must be at the end of a line to get help.


Text

When you inspect a graph title or subtitle, you can choose Title | Text or Subtitle | Text to open the Enter Title dialog box, where you type the title or subtitle.

When you inspect a graph axis, you can choose Title | Text to enter a label for the axis.


Fields

When you choose Fields from a table's menu or a query's menu in the data model, you see a list of the fields in that table or query. The list also shows the field type.


Show All Columns

When Show All Columns is checked and you're viewing data, the table frame expands to show all columns of the table.

When this property is not checked, the table frame behaves like a fixed-width table when you're viewing data.


Show All Records

When Show All Records is checked and you're viewing data, a table frame or multi-record object will keep expanding, until all data in the group is displayed.

A table frame expands vertically.

A multi-record object expands vertically if you specified Left-Right Then Top-Down in the Record Layout dialog box. If you specified Top-Down Then Left-Right, it expands horizontally.

When Show All Records is not checked, the table frame or multi-record object can still expand (they cannot be fixed height), but you will see a fixed number of records when viewing data.

Show All Records applies only to tables and multi-record objects.


Move Grid To Band

When you're designing a report, you can move the grid so it starts at the top of the band you're working on. To do this, inspect the band, then choose Move Grid To Band.

When Move Grid To Band is checked, the origin of the grid is at the top of the band. Look for the zero on the vertical ruler.

Move Grid To Band is available only when either Snap To Grid or Show Grid is checked.


Frame Palette

When you inspect an object and choose Frame | Style, the Frame palette appears.

Choose the frame style you want. Paradox changes the frame of the selected object(s) and removes the palette from the screen. Frame styles which are unavailable are dimmed on the palette. Some line and frame styles can be applied only when the line or frame is set to the thinnest choice.

Tip:	Text objects have no frame by default. Before you customize the color or thickness of a text object frame, choose a frame style. Then you'll see the color and thickness settings take effect.


Pattern Palette

When you inspect an object and choose Pattern | Style, the Pattern palette appears.

Choose the pattern you want. Paradox fills the selected object(s) with that pattern and removes the palette from the screen.

Tip:	If choosing a pattern style does not seem to have any effect, make sure the object's foreground and background colors are different.


Record Layout

Choose Record Layout from a multi-record object's menu to open the Record Layout dialog box. Here you can specify the layout of records in a multi-record object.

You can specify

The number of records across and down

The vertical and horizontal spacing between the records

The order the records appear in

See Also

Record Layout dialog box


Define OLE

When you define an OLE object, you choose Paste to insert information previously put into the Clipboard by an OLE server.

By using OLE objects in Paradox fields, you can access the power of the OLE server to work with the object from within Paradox.

Paradox is an OLE client only. You cannot use OLE to place Paradox field values in other applications. You can place OLE values in Paradox OLE fields, or in OLE design objects in forms and reports.

Once you place an OLE value in Paradox, you can access its source application directly from Paradox to make any changes you need. The changes affect only the OLE object in Paradox. The original object you copied is not changed.

See Also

Exchanging data

Entering OLE data


Define Graphic

In defining a graphic, you can either choose

Paste	To place the contents of the Clipboard in the graphic object. (If the Clipboard is empty, Paste is dimmed.)

Paste From	To name a file to place in the graphic object. In the Paste From Graphic File dialog box, choose the graphic you want. Paradox places it in the frame.

See Also

Graphic tool


Add a Category

Choose Add a Category from the Category menu of a crosstab object to specify the fields whose values you want to use as row headings, or categories, down the leftmost column of the crosstab.

Note:	You can also use the Define Crosstab dialog box to do this.

See Also

Inspecting column, row and summary field objects

Inspecting the row area


Add a Summary

Choose Add a Summary from the Summaries menu of a crosstab object to

Specify the fields whose values you want to perform a summary operation on, thus providing the data of the crosstab.

Specify the type of summary operation to perform on each summary field you choose.

Note:	You can also use the Define Crosstab dialog box to do this.

See Also

Inspecting column, row and summary field objects

Inspecting the summary area


Define Column Field

Choose Define Column Field from the Column menu of a crosstab object to specify which field's values to use as column headings across the top of the crosstab.

Note:	You can also use the Define Crosstab dialog box to do this.

See Also

Inspecting column, row and summary field objects

Inspecting the column area


Order/Range

Choose Order/Range to display the Order/Range dialog box where you can set a filter for your view of the table.

Suppose you want to view a keyed table in a different order than that established by the primary index. You can use a secondary index to change the view. You can also specify a range of values in the index and tell Paradox you want to view only values in that range.

Order/Range can be established in a Form or a Table window. Either way, it is saved as part of a form's design, not as a table property. When table and form views conflict, Paradox uses the Order/Range setting on the first window opened.

Using Order/Range affects the scroll bar. When you use the Order/Range dialog box on a dBASE table, the vertical scroll bar thumb always appears in the center of the scroll bar. You can move it, to move through the table, but it will return to the center after you drag it.

See Also

Order/Range dialog box


Strict Translation

Choose Table | Strict Translation to limit available characters to the DOS character set supported by the table language driver. These are characters common to both the OEM and ANSI character sets.

When Strict Translation is checked, you cannot move off a field where you've entered a character that is not a member of the table's DOS character set.

When Strict Translation is not checked, you can enter a character not in the set, but when you move off the field that character changes to a character that does occur in the DOS character set supported by the table's language driver.

It is also possible that a table that has been edited with a DOS application may contain characters not found in the Windows ANSI character set. If you use Paradox for Windows to edit such a table with Strict Translation checked, a warning is issued whenever you enter Field View (in Edit mode) in a field containing non-ANSI characters. If you leave the field without editing, the characters are not changed; if you edit the field, the characters are converted to ones that are common to both the ANSI and OEM character sets.

See Also

Specifying a table language driver

Key fields


Format of X-Value

Use Format of X-Value to change the way x values are displayed on some graphs.

When you inspect a graph and choose Label | Format of X-Value, you can choose to display x-axis values in any of the number formats listed. To define your own format, click the top of the list. The appropriate dialog box opens.

Label Format is available only for 2- and 3-D Pie and Column graphs.


Define Group

Inspect a graph title and choose Define Group. A menu of available fields is displayed.

Choose a field in the list, or click the top of the list to open the Define Field Object dialog box. In this dialog box you can

Choose fields from other tables in the data model.

Click the Data Model button to add tables to the data model.

When you group data in a graph, you create as many series in your graph as there are different values in the field you group on.

See Also

Define Field Object dialog box


Define Y-Value

Inspect a series in a graph and choose Define Y-Value to change the field you want reflected in the series. If you click the top of the list of fields, the Define Field Object dialog box opens, where you can choose from other tables in the data model.

See Also

Define Field Object dialog box


Define X-Value

Inspect the X-Axis in a graph and choose Define X-Value to change the field you want graphed along the X-axis. If you click the top of the list of fields, the Define Field Object dialog box opens, where you can choose from other tables in the data model.

See Also

Define Field Object dialog box


Auto-Append

When the Auto-Append property is checked (the default), you can move to the end of a form in Edit mode and automatically insert new records simply by typing. To setting off, uncheck it.

When Auto-Append is off, you can still insert records by using Insert.


Folder Window Commands

You can use the Folder window to display icons for objects in the working directory. These can be Paradox objects or non-Paradox objects.

Paradox objects are tables, forms, reports, queries, scripts, and libraries.

Non-Paradox objects are other files, like bitmaps or files associated with Paradox tables. For example, a Paradox table can be made up of a .DB file, a .PX file, a .TV file, and an .MB file, but by default Paradox displays only the .DB file in the Folder window.

When you open the Folder window, the Folder menu appears on the menu bar.

See Also

The Folder menu

Common menu commands

Folder window tasks


The Folder menu

Folder | Add Item

Folder | Remove Item

Folder | Tidy Icons

Folder | Show All Files


Folder | Add Item

Choose Folder | Add Item to add an object icon to the folder. You can also click the Add Folder Item SpeedBar button. The Select File dialog box opens. Choose the file you want to add to the Folder window.

Use the Type list to get other files types.

Use the Browser to get files from other directories.

Tip:	You can add several object icons at once. In the Select File dialog box, Shift+click or Ctrl+click all the files you want. Choose OK to add all selected to the Folder window.

All icons in a folder are references. The icon shows the folder item's file name and extension. The status bar shows the selected object's full path or alias location. You can have two icons with the same name that refer to different files if they are in different directories.

To see icons for all Paradox objects in the working directory, choose Folder | Show All Files.

See Also

Select File dialog box

Showing all files


Add Folder Item Button

Use the Add Folder Item button to add an object to the folder. This is the same as choosing Folder | Add Item.

When you click Add Folder Item, the Select File dialog box opens. Choose the file you want to add to the Folder window.

Use the Type list to get other files types.

Use the Browser to get files from other directories.

Tip:	You can add several object icons at once. In the Select File dialog box, Shift+click or Ctrl+click all the files you want. Choose OK to add all selected to the Folder window.

All icons in a folder are references. The icon shows the folder item's file name and extension. The status bar shows the selected object's full path or alias location. You can have two icons with the same name that refer to different files if they are in different directories.

To see icons for all Paradox objects in the working directory, choose Folder | Show All Files.

See Also

Select File dialog box

Showing all files


Folder | Remove Item

Choose Folder | Remove Item to remove an object icon from the Folder window. You can also click the Remove Folder Item SpeedBar button.

The Remove Item From Folder dialog box opens, showing all objects currently visible in the folder. Choose from this list the object(s) you want to remove from the Folder window. You must select from this list. It is not affected by any icons currently selected in the Folder window.

Removing an item from the Folder window does not delete it. The file still exists, and will still appear in list boxes.

Tip:	You can also remove an icon by selecting it and pressing Del. The file still exists; it just is not shown in the Folder window.

See Also

Remove Item From Folder dialog box


Remove Folder Item Button

Use the Remove Folder Item button to remove an object icon from the Folder window. This is the same as choosing Folder | Remove Item.

When you click Remove Folder Item, the Remove Item From Folder dialog box opens, showing all objects currently visible in the folder. Choose from this list the object(s) you want to remove from the Folder window. You must select from this list. It is not affected by any icons currently selected in the Folder window.

Removing an item from the Folder window does not delete it. The file still exists, and will still appear in list boxes.

Tip:	You can also remove an icon by selecting it and pressing Del. The file still exists; it just is not shown in the Folder window.

See Also

Remove Item From Folder dialog box


Remove Item From Folder Dialog Box

Use the Remove Item From Folder dialog box to remove an item from the Folder window without deleting it. The file will still exist but it will disappear from the Folder window. To open the Remove Item from Folder dialog box, choose Folder | Remove Item or click the Remove Folder Item button on the SpeedBar.

Dialog Box Option

Remove

Shows all objects currently visible in the Folder. Choose the object(s) you want to remove from the Folder window, then choose OK.

Note: This list is not influenced by the selected object in the folder.

Removing an item from the Folder window does not delete it. The file still exists, and will still appear in list boxes.

See Also

Folder | Remove Item


Folder | Tidy Icons

Choose Folder | Tidy Icons to restore the arrangement of icons in the Folder window. Paradox arranges the icons in the order you opened them, in an irregular line that allows room to display the full file names.

To reorder icons on the Desktop, use Window | Arrange Icons.

See Also

Window | Arrange Icons


Folder | Show All Files

Choose Folder | Show All Files to display in the Folder window icons for all Paradox objects in the working directory. This includes tables, forms, reports, queries, scripts, and libraries.

To explicitly add other files to the Folder window, you must choose Folder | Add Item or click the Add Item button on the SpeedBar.

When you uncheck Show All Files, the only icons that remain are those you explicitly placed in the Folder using Folder | Add Item or the Add Item button.

See Also

Folder | Add Item


Properties | Desktop

Choose Properties | Desktop to change the way your Desktop looks. In the Desktop Properties dialog box you can change

Title	Type another title to appear on the Desktop title bar.

Background

Bitmap	Type the name of a bitmap file or choose Find to see a list.

SpeedBar	Make the SpeedBar a floating palette shaped into one or two columns or rows. To return the floating SpeedBar to its position under the menu, choose Fix from its Control menu.

ObjectPAL

Level	Advanced gives you more methods and procedures to use when you attach code to objects in forms and reports.


Copy Dialog Box

Use the Copy dialog box to specify a file name for the copy. To open the Copy dialog box, inspect an object in the Folder window and choose Copy.

Dialog Box Options

Existing File Names

Use this list to see file names already used in the working directory. To overwrite one of these files, pick it from the list. The selected file name appears in the New File Name box. To create a new file, type the file name in the New File Name box.

Path

Choose an alias or your private directory to see files in other directories.

Type

Choose the file type from the drop-down list.

Browse

Choose Browse to see files in other directories.

New File Name

Type the name to give the copy. To overwrite an existing file, pick it from the list of existing files.

Always use the Paradox Copy utility to copy tables. Using the DOS COPY command or the Windows File Manager might not copy all related files that make up a table. For example, Paradox stores the contents of memo fields externally to a table and you cannot copy them by copying the .DB file. A Paradox Copy command copies all files and pointers correctly.


Rename Dialog Box

Use the Rename dialog box to specify the new file name. To open the Rename dialog box, inspect an object in the Folder window and choose Rename.

Dialog Box Options

Existing File Names

Use this list to see file names already used in the working directory.

Path

Choose an alias or your private directory to see files in other directories.

Type

Choose the file type from the drop-down list.

Browse

Choose Browse to see files in other directories in the Browser.

New File Name

Type the new file name.


Folders

The Folder window displays icons for objects in the working directory. These can be Paradox objects or non-Paradox objects.

Paradox objects are tables, forms, reports, queries, scripts, and libraries.

Non-Paradox objects are other files, like bitmaps or files associated with Paradox tables. For example, a Paradox table can be made up of a .DB file, a .PX file, a .TV file, and an .MB file, but by default Paradox displays only the .DB file in the Folder window.

By default, no icons are displayed when you first open a Folder window. To put icons in a folder, use Folder | Add Item or Folder | Show All Files. (If your working directory is \SAMPLES, Show All Files is checked by default, so all Paradox object icons are displayed.)

From the Folder window, you can inspect Paradox object icons to view their menus, or double-click them to perform the default action (the first item on the menu).

Choose File | Open | Folder to open the Folder window. Or click the Open Folder button on the SpeedBar.

See Also

Folder window tasks

Tasks common to all windows

Folder window commands


Folder window tasks

Opening a folder

Icons in folders

Using object icons

Adding icons

Removing icons

Showing all files


Opening a Folder

To open the Folder window, either

Click the Open Folder button on the SpeedBar.

Choose File | Open | Folder.

The folder is a window that shows selected objects in the working directory. Icons represent the objects in the directory.

By default, no icons are displayed when you first open a Folder window. To put icons in a folder, use Folder | Add Item or Folder | Show All Files. (If your working directory is \SAMPLES, Show All Files is checked by default, so all Paradox object icons are displayed.)

From the Folder window, you can inspect Paradox object icons to view their menus, or double-click them to perform the default action (the first item on the menu).

See Also

The SpeedBar

Icons in folders

Using object icons

Adding icons

Removing icons

Showing all files


Open Folder Button

Click the Open Folder button to open a folder for the working directory. This is the same as choosing File | Open | Folder.

The folder is a window that shows selected objects in the working directory. Icons represent the objects in the directory.

From the Folder window, you can right-click icons to inspect objects, or double-click to perform the default action (the first item on the menu).


Icons in Folders

Icons represent objects in Paradox.

A minimized window appears on the Desktop as an icon. This is the same icon that appears in a folder to represent the object. Each type of object has its own type of icon. The name of the object the icon represents appears below the icon.

These are the icons for the major set of Paradox objects that appear in a folder.

	Form window		Library window
	Query window		Report window
	Script window		Table window


Using Object Icons

You can right-click the icon for any Paradox object in the Folder window to display a menu of actions appropriate to the object type. For example, if you right-click a table's icon, you can choose to view, copy, restructure, sort, or perform other operations on the table. (These are the same options you find in the File | Utilities menu.) Choose the operation you want.

Non-Paradox objects cannot be inspected.

Paradox objects are tables, forms, reports, queries, scripts, and libraries.

Non-Paradox objects are other files, like bitmaps or files associated with Paradox tables. For example, a Paradox table can be made up of a .DB file, a .PX file, a .TV file, and an .MB file, but by default Paradox displays only the .DB file in the Folder window.

The top menu choice is the object's default action. You can double-click an object to perform its default action (the first item on the menu). For most objects, the default action is View. When you double-click one of these objects, Paradox opens it.

See Also

Adding icons

Showing all files


Adding Icons

Choose Folder | Add Item or click the Add Item SpeedBar button to add an object icon to the folder. The Select File dialog box opens. Choose the file you want to add to the Folder window:

Use the Type list to get other files types.

Use the Browser to get files from other directories.

Tip:	You can add several object icons at once. In the Select File dialog box, Ctrl+click or Shift+click all the files you want. Paradox highlights the file names as you click them. Choose OK to add them all to the Folder window.

All icons in a folder are references. The icon shows the folder item's file name and extension. The status bar shows the selected object's full path or alias location. You can have two icons with the same name that refer to different files if they are in different directories.

To see icons for all Paradox objects in the working directory, choose Folder | Show All Files.

See Also

Select File dialog box

Showing all files


Removing Icons

Choose Folder | Remove Item or click the Remove Item SpeedBar button to remove an object icon from the Folder window.

The Remove Item From Folder dialog box opens. All objects currently visible in the folder are shown. Choose from this list the object(s) you want to remove from the Folder window. You must select from this list. It is not affected by any icons currently selected in the Folder window.

Removing an item from the Folder window does not delete it. The file still exists and will still appear in list boxes.

Tip:	You can also remove an icon by selecting it and pressing Del. The file still exists; it just is not shown in the Folder window.

See Also

Remove Item From Folder dialog box


Showing All Files

Choose Folder | Show All Files to display in the Folder window icons for all Paradox objects in the working directory. This includes tables, forms, reports, queries, scripts, and libraries.

To explicitly add other files to the Folder window, you must choose Folder | Add Item or click the Add Item button on the SpeedBar.

When you uncheck Show All Files, the only icons that remain are those you explicitly placed in the Folder using Folder | Add Item or the Add Item button. The files still exist even though their icons no longer appear in the Folder window.

See Also

Adding icons


Form Window Commands

When you're in the Form window, the Form and Properties menus are available to you on the menu bar. When you're viewing data in the Form window, the Record menu is available on the menu bar; when you're designing a form, the Design menu is there instead. Some Edit menu commands work differently in a Form Design window.

The File, Window, and Help menus do not change.

See Also

Form menu

Record menu

Design menu

Properties menu

Common menu commands

Form window tasks


Form menu

Form | Edit Data

Form | End Edit

Form | Design

Form | View Data

Form | Field View

Form | Table View

Form | Order/Range

Form | Show deleted

Form | Page

Form | Data Model

Form | Object Tree

Form | Deliver


Form | Edit Data

Choose Form | Edit Data to enter or edit data in a form.

Shortcut key  F9

To get into Edit mode from the Form window, either

Click the Edit Data SpeedBar button

Choose Form | Edit Data

Press F9

When you choose Form | Edit Data, Paradox selects the first field for editing.

Field View

In normal Edit mode, whatever you type in a field overwrites the data that's there. To change only part of a field, use Field View. To enter Field View, either

Click the Field View SpeedBar button

Choose Form | Field View

Press Ctrl+F

Press F2

In Field View, you can use the left and right arrow keys, as well as Backspace and Del.

To exit Field View, either click a different field or press Enter.

Persistent Field View

Use Ctrl+F2 to enter into Persistent Field View, where you can move from field to field without leaving Field View.

In Persistent Field View, press Tab, Enter, or Alt plus an arrow key to move from field to field. Press arrow keys to move character-by-character within a field.

Press Ctrl+F2 again to leave Persistent Field View.

Memo View

Use Shift+F2 on a memo or formatted memo field to open Memo View, where you can use Enter and Tab as you normally do to edit text.

Press Shift+F2 again to exit Memo View.

Leaving Edit mode

To leave Edit mode and return to viewing the form, either click the Edit Data SpeedBar button, choose Form | End Edit, or press F9.

See Also

Form navigation buttons

Navigation and selection keys

Keys used in Memo View


Form | End Edit

Choose Form | End Edit (or click the Edit Data SpeedBar button again) when you're through adding data to your form or changing it.

Shortcut key  F9

See Also

Form | View Data


Form | Design

Choose Form | Design to create or modify the design of a form. In the Form Design window you can select objects, move them, resize them, and change their properties.

Shortcut key  F8

When you choose Form | Design, Paradox shows the field names, but no data. It also displays form design tools on the SpeedBar.

To enter the Form Design window,

From the Desktop, choose File | New | Form or File | Open | Form

From the Form window, either

Click the Design SpeedBar button

Choose Form | Design

Press F8

To leave the Form Design window and view data, either click the View Data SpeedBar button, choose Form | View Data, or press F8.

You can change the shape of the SpeedBar by choosing Properties | Desktop to open the Desktop Properties dialog box. You can move a floating SpeedBar anywhere you want by dragging its title bar.


Form | View Data

Choose Form | View Data to see the data on a form.

Shortcut key  F8

To see your data,

From the Desktop choose File | Open | Form.

From the Form Design window, either

Click the View Data SpeedBar button

Choose Form | View Data

Press F8

When you choose Form | View Data,

Fields show the values in the tables.

Table frames display as many records of each table as fit in the space you allotted.

ObjectPAL methods on buttons can be executed.

You can enter or edit data in undefined fields (but not in fields that contain table references).

Navigation buttons

Navigation buttons appear on the SpeedBar. Click the buttons to move quickly to parts of the database you want to see.

To edit data, click the Edit Data button on the SpeedBar, press F9, or choose Form | Edit Data.

To return to a design window, either click the Design button on the SpeedBar, choose Form | Design, or press F8. If you were in Edit mode, this automatically ends your edit session.


Form | Field View

Choose Form | Field View to toggle in and out of Field View.

Shortcut key  F2

Form | Field View is available when you view data in a Form window.

When you're in Field View, the insertion point flashes. You can edit text in the usual way by typing, backspacing, and deleting.

Navigation keys on the numeric keypad (arrows, Home, End, and so on) you move within the field rather than in the form. Alt + a keypad key navigates around the form, rather than within the field. Tab and Enter still move you to the next field on the form.

When you're viewing or editing data in the Form window, you can enter Field View by either

Clicking the Field View SpeedBar button

Choosing Form | Field View

Pressing F2

Clicking in a field after it's been selected

Pressing Ctrl+F

To leave Field View, you can either

Click the Field View SpeedBar button

Choose Form | Field View again

Press F2

Click another field

Press Tab or Enter to move to the next field

You can also edit data in Persistent Field View or Memo View.

Persistent Field View (Ctrl F2) keeps you in Field View even when you move to another field.

Memo View (Shift F2), on memo fields, is like Field View except Tab and Enter act as characters, rather than taking you out of the field.


Form | Table View

Choose Form | Table View to see a window displaying the master table for your form.

Shortcut key  F7

Form | Table View is available when you view or edit data in a Form window.

When you're viewing data in a Form window, you can toggle to a Table window by

Clicking the Table View SpeedBar button

Choosing Form | Table View

Pressing F7

Use the scroll bars to view any data not on the screen.

To leave the Table window and return to the Form window, either click the Quick Form SpeedBar button, choose Table | Quick Form, or press F7.


Form | Order/Range

Choose Form | Order/Range to display the Order/Range dialog box where you can set a filter for the records you want to display.

Suppose you want to view a keyed table in a different order than that established by the primary index. You can use a secondary index to change the view. You can also specify a range of values in the index and tell Paradox you want to view only values in that range.

Note:	Order/Range can be established in a Form or a Table window. It is saved as part of a form's design, but not as a table property. When table and form views conflict, Paradox uses the Order/Range setting on the first window opened.

See Also

Order/Range dialog box


Order/Range Dialog Box

Use the Order/Range dialog box to set a filter for the table to view only the data that meets your specifications. To open the Order/Range dialog box, choose Form | Order/Range (or Table | Order/Range).

Dialog Box Options

Index List

Choose the index you want to use.

For a dBASE table, the Index List area shows the contents of the table's .MDX file and the NO INDEX choice.To use an index that is not in the .MDX file, enter its name (including its .NDX or .MDX extension) in the Select dBASE Index File text box. The new index or tag names appear in the Available Indexes area the next time you open the Order/Range dialog box.

Field Values

The index you choose appears here and defines the viewing order of the table. It sorts records by field values, so Paradox can find them quickly.

To display only those records whose value matches exactly the value you specify, enter the value in the text box in the Field Values area. For example, if you have an index on the Country field of the Customers table, and you enter Canada as the value you want to match, Paradox displays only those records of the table with Canada as their Country value.

Set Range

When Set Range is checked, another text box opens so you can define the range of values you want Paradox to display. Enter the low value in the top text box and the high value in the bottom text box. Paradox does not recognize blanks as part of a match or range specification.

Match Partial Strings

Check Set Range and enter low and high values. Then check Match Partial Strings to tell Paradox you do not care what the full field value is, as long as it falls within that range. (Match Partial Strings is hidden until you check Set Range, and is available only if the table's index field is alphanumeric.)

Note:	Order/ Range cannot be saved as a table property, but can be saved as part of a form's design. When table and form views conflict, Paradox uses the Order/Range setting on the first window opened.

See Also

Form | Order/Range

Displaying specific ranges

Composite secondary indexes

Matching partial strings

Setting ranges on a composite index

Changing view order on dBASE tables


Form | Show Deleted

Choose Show Deleted when you're working with a dBASE table and want to view those records that have been deleted from the table.

Form | Show Deleted is available only for dBASE tables. You must be viewing data in a form.


Form | Page

Choose Form | Page to move quickly through the pages in a form or to change the page layout.

Layout, Add, Delete, and Tile are available only when you're designing the form, not when you're viewing data.

Choose:	To:

First	Move to the first page

Last	Move to the last page

Next	Move to the next page

Previous	Move to the previous page

Go To	Open the Go To Page dialog box, where you type the page number you want in the document

Layout	Open the Page Layout dialog box, where you can choose from a list of paper sizes or specify a custom size

Add	Add a page at the end

Rotate	Move the current page to the end

Tile	Display only one record at a time (stacked), or arrange records across the screen or down

See Also

Go To Page dialog box

Page Layout dialog box,

Tiling multiple pages

Form | Page | Layout

Form | Page | Add

Form | Page | Rotate

Form | Page | Tile


Go To Page Dialog Box

Use the Go To Page dialog box to move through the pages of a form. Type in the page number you want to go to. To open the Go To Page dialog box, choose Form | Page | Go To.

The concept of pages in a form is different from the concept of pages in a report:

In a form: you can use more than one page to show a record. (To add pages to a form, choose Form | Page | Add.)

Commands on the Form | Page menu move through pages. SpeedBar navigation buttons move through records.

In a report: you can display more than one record on each page of a report.

Commands on the Page menu and SpeedBar navigations do the same thing: move through pages of the report.

See Also

Form | Page


Form | Page | Layout

Choose Form | Page | Layout to change the page layout. Paradox opens the Page Layout dialog box where you can specify page dimensions.

See Also

Page Layout dialog box


Form | Page | Add

Choose Form | Page | Add to add a blank page to the form. Paradox always adds the new page after all existing pages. You cannot add a blank page between existing pages. (You can move pages to rearrange their order, or use Paste to insert a blank page.)

Tip:	When working with multi-page forms, you might want to choose Properties | Zoom | Best Fit to see all pages of the form onscreen at the same time.


Form | Page | Rotate

Choose Form | Page | Rotate to move the selected page to the last page's position. For example, if you select page 2 of a five-page report and choose Form | Page | Rotate, Paradox moves page 2 to the end of the form (page 5), and moves pages 3,4, and 5 up one position.


Form | Page | Tile

Choose Form | Page | Tile when you're working with a multi-page form to control the onscreen display of the pages using tiling options.

Choose:	To:

Stack Pages 	View the pages one at a time, one on top of another. (This is the default tiling option.)

Tile Horizontal 	View the pages side-by-side, horizontally across the screen.

Tile Vertical 	View the pages top-to-bottom, vertically down the screen.

Tip:	You might not notice a difference in tiling options if you've specified a large page from the Page Layout dialog box. Try using Properties | Zoom to zoom out to a smaller display of pages (like 25%). You'll see more than one page at a time and the tiling options will be obvious.


Form | Data Model

Choose Form | Data Model to view or modify the data model for a form. The data model shows the tables your form uses and their relationships to each other.

When you choose Form | Data Model, Paradox opens the Data Model dialog box.

The Data Model SpeedBar button is a quick way to open the Data Model dialog box.

See Also

Data Model dialog box


Form | Object Tree

Choose Form | Object Tree to view the logical structure of your form. When you choose Form | Object Tree, Paradox displays the form's object tree.

A Paradox object tree shows you the hierarchy of objects in your document (which objects are contained in other objects). In the object tree you can select objects or inspect their properties. Names of objects with ObjectPAL methods attached are underlined.

The Object Tree SpeedBar button is a quick way to see this diagram.

If a single design object is selected when you choose Form | Object Tree, Paradox shows you only that part of the tree.


Form | Deliver

If you create a form for others to use and you save it, others can enter a design window and change your form.

Choose Form | Deliver to let others use your code but not change it. When you deliver a form, Paradox removes all the source code from the form. Buttons and other objects still work exactly the way you've designed them. Your code is not lost; it's protected.

When you choose Form | Deliver, Paradox saves a copy of the form with an .FDL extension. The D stands for Delivered. You can still change your form using the file with the .FSL extension, but if you want others to use it without changing it, give them the delivered form. A delivered form cannot be opened in a design window or toggled into a design window.

Form | Deliver is mainly used by ObjectPAL developers.


Record Menu

Use the commands on the Record menu to quickly find insert, delete, or lock records in a form. Record commands are available only when you're viewing data on a form. To use Locate | and Replace, Insert, Delete, Lock, Cancel Changes, and Post/Keep Locked, you must be editing data.

  You can also use the navigation SpeedBar buttons to move through records in the form.

Choose:	To:

First	Find the first record

Last	Find the last record

Next	Find the next record

Previous	Find the previous record

Next Set	Find the next set of records

Previous Set	Find the previous set of records

Locate	Search by field, by record number, or by field value, as well as search for values and replace them

Locate next	Find the next occurrence of the value you last searched for

Insert	Insert a record

Delete/Undelete	Delete or undelete a record

Lock	Lock a record you're editing, then unlock it when you're through

Cancel Changes	Cancel changes to the current record, if you have not moved off that record

Post/Keep Locked	Hold a lock on a record even after you've posted (saved) its value

Lookup Help	Display the lookup table containing valid values for a field that has a table lookup

Move Help	Move a detail record to a new master record in either a 1 [image] M form or a referential integrity relationship

See Also

Record | Locate

Record | Locate Next

Record | Insert

Record | Delete/Undelete

Record | Lock

Record | Cancel Changes

Record | Post/Keep Locked

Record | Lookup Help

Record | Move Help


Record | Locate

Use the Locate commands on the Record menu to find records and values in a form. You can include wildcards in a search.

Choose:	To:

Locate | Record number	Move to the record number you specify

Locate | Value	Move to a field value you specify

Locate | and Replace	Replace the specified value with another value you specify

See Also

Locate | Record Number

Locate | Value

Locate | and Replace


Locate | Record Number

Choose Record | Locate | Record Number to move to a particular record of the table.

When you choose Record | Locate | Record Number, a dialog box opens where you type the number of the record you want.

The record number of a Paradox table is assigned automatically by Paradox and cannot be edited. It shows the record's position in the table.


Locate | Value

Choose Record | Locate | Value to move to a particular value in a field that you identify.

When you choose Record | Locate | Value, a dialog box opens where you type the value you want to find.

You can also use the Locate Field Value SpeedBar button.

See Also

Record | Locate Next


Locate Field Value Button

Click the Locate Field Value button to find a particular value in a form. The Locate Value dialog box opens, where you enter the value you're looking for. You can also specify how exactly you want the search to match your typed entry.

Clicking this button is the same as choosing Record | Locate | Value.

See Also

Locate Value dialog box

Finding records in a form


Locate | and Replace

Choose Record | Locate | and Replace to locate a particular value in a field and change that value. You have to be in Edit mode to use Locate | and Replace.

When you choose Record | Locate | and Replace, a dialog box opens where you type the value to search for and the value to replace it with.

When Paradox finds the value, you can say yes to replace it, or no to move to the next occurrence.

If Paradox cannot find the value you entered, "Value not found" appears on the status bar.


Record | Locate Next

Choose Record | Locate Next to search for the next occurrence of the value you last searched for. The Locate Value dialog box opens, displaying that value and the search parameters you specified before.

If you have not specified a previous search, enter the value you're looking for. You can also specify how exactly you want the search to match your typed entry.

You can also use the Locate Field Value and Locate Next SpeedBar buttons.

See Also

Locate | Value


Locate Next Button

Use the Locate Next button to search for the next occurrence of the value you last searched for. The Locate Value dialog box opens, displaying that value and the search parameters you specified before. Locate Next works only when you have first used Locate Value.

Clicking this button is the same as choosing Record | Locate Next.

See Also

Locate Value dialog box

Finding records in a form


Record | Insert

Choose Record | Insert to insert a blank record above the selected record. You can also press Ins.

When you insert a record into a keyed table, then enter a value in it, Paradox automatically moves it to its proper position in the table. (The record might move from the place where you inserted it.) Records inserted in non-keyed tables stay where they are inserted.

When you work in a single-record form, inserting a record seems like inserting a blank screen. When you press Ins or choose Record | Insert, the form goes blank. This is because Paradox has both inserted and moved to the new blank record. Remember, Paradox always inserts blank records above the selected record.


Record | Delete/Undelete

Choose Record | Delete to delete the selected record from the table. You must be in Edit mode.

In a Paradox table, you cannot retrieve a deleted record, so be sure you want to delete the entire record before you choose Delete.

In a dBASE table, deleting a record does not immediately remove it. You can even choose to view deleted records by using Form | Show Deleted.

When you delete a record in a dBASE table, Record | Delete changes to Record | Undelete. To retrieve a deleted record from a dBASE table, make sure Form | Show Deleted is checked, then select any field of the record you want to restore and choose Record | Undelete.

Shortcut key  Ctrl+Del


Record | Lock

Choose Record | Lock to place a lock on the record you are viewing. The Desktop's status bar tells you when you've locked a record.

Shortcut key  F5

Paradox locks a record automatically when you begin editing it. The message "Record is now locked" appears in the Desktop's status bar. Paradox removes the lock when you move from the record.

Locking is important if you use Paradox in a multiuser environment or if you run two Paradox sessions simultaneously. When a record is locked, other users can view it but cannot edit or delete it.

In a multi-table form, Record | Lock affects all tables in the data model.

If you're locked out of the record by another user, choose File | Info | Lock to see who has locked the record.

After you've locked a record, the Lock command changes to the Unlock command. You must unlock records before other users can access them.

See Also

Locking records


Record | Cancel Changes

Choose Record | Cancel Changes to undo changes to the current record. After you move from the record, Cancel Changes is no longer available.

In a multi-table form, Record | Cancel Changes affects all tables in the data model.


Record | Post/Keep Locked

Choose Post/Keep Locked to write your changes to the current record and move the record to its place in a keyed table if necessary. This lets you make sure there is no key violation before you fill in the rest of the record. Other users can now see the record, but it remains locked so you can continue editing it. In a multi-table form, Record | Post/Keep Locked affects all tables in the data model.


Record | Lookup Help

Choose Record | Lookup Help when you enter data in a field that has required values found in a lookup table.

When you choose Record | Lookup Help, the lookup table opens in a window where you can choose the value you want.

Shortcut key  Ctrl+Spacebar


Record | Move Help

Choose Record | Move Help to move a detail record to a new master record in either a 1 [image] M form or a referential integrity relationship.

In certain situations, you might have a record in one table that corresponds to a record in another table. This can happen

In a referential integrity relationship, where one record in a parent table is related to one or more records in a child table

In a multi-table form, where one record of the master table is related to one or more records in the detail table

In either of these kinds of relationships, you can use move help to move a dependent record from one master to a different master.

Shortcut key  Ctrl+Shift+SpaceBar

Example

For example, suppose you've linked Customer and Orders in a 1 [image] M relationship in a form. If you select a value in Customer No in the Orders table, then choose Record | Move Help (or press Ctrl+Shift+Spacebar), you see the Customer table in a dialog box. When you choose a value from the Customer No field in this table, Paradox changes the Customer No value for the selected record.


Design menu

Design | Design Layout

Design | Group

Design | Ungroup

Design | Bring To Front

Design | Send To Back

Design | Duplicate

Design | Align

Design | Adjust Size

Design | Adjust Spacing

Design | Copy To SpeedBar


Design | Design Layout

Choose Design | Design Layout when you want to completely rework your design.

If you are working on a form and want to start over, this lets you bring up a new starting point, just as you do when you're starting a new form.

The Design Layout dialog box opens showing only the fields you placed in your form. You can always add more fields by using Select Fields.

Choosing Design Layout causes your current design to be completely replaced. Do not use it if you want to save any existing  ObjectPAL methods or design objects.

Note:	Do not use Design Layout if you just want to change the page size or switch between a screen form and a printer form. To do that, choose Form | Page | Layout to open the Page | Layout dialog box.

See Also

Single-table Design Layout dialog box

Multi-table Design Layout dialog box


Design | Group

Choose Design | Group to define separate objects as a group that behaves as one object.

Groups can exist in other groups. You can select a group and other objects and group them together at a higher level. The initial group is not lost when groups are nested in the higher level.

Use groups to

Reserve the relative positions of objects when you move or resize them.

Influence the tab order of a form. All tabbing occurs within a group before tabbing outside to the next object. Because groups only contain the objects you chose, you can create any noncontiguous tab sequences you want.

Grouping objects

To group objects,

1.	Shift-click to do multiple selection of all the objects you want to group together. The objects must all belong to the same container.

2.	Choose Design | Group.

Ungrouping objects

Choose Design | Ungroup to separate the objects again. Or inspect the group and choose Ungroup from its properties menu.

See Also

Design | Ungroup

Selecting objects with the mouse

Determining tab order


Design | Ungroup

Choose Design | Ungroup to separate grouped objects. You can also inspect the group and choose Ungroup.

Note:	 If you try to ungroup a group containing ObjectPAL code, Paradox warns you that your code will be lost, and asks you to confirm the Ungroup.

See Also

Design | Group


Design | Bring To Front

Choose Design | Bring To Front to move a selected form object in front of another.

You might want to bring a design object to the front of the stack of objects on a form if

You have objects that overlap each other.

You want to rearrange the tab order on a form.

To bring an object to the front,

1.	Select an object on the form.

2.	Choose Design | Bring To Front.

Paradox moves the object in front, so it appears to be on top of other objects. This might not be noticeable, unless your objects partially overlap each other.

Note:	When you change the front-to-back positions of objects, you change their tab order, because objects always tab from back to front.

See Also

Determining tab order


Design | Send To Back

Choose Design | Send To Back to move a selected form object behind another.

You might want to send a design object to the back of the stack of objects on a form if

You have objects that overlap each other.

You want to rearrange the tab order on a form.

To send an object to the back,

1.	Select an object on the form.

2.	Choose Design | Send To Back.

Paradox moves the object to the back, so it appears to be underneath other objects.

Note:	When you change the front-to-back positions of objects, you change their tab order, because objects always tab from back to front.

See Also

Determining tab order


Design | Duplicate

Choose Design | Duplicate to replicate a form object:

1.	Select an object on the form.

2.	Choose Design | Duplicate.

Paradox puts a copy of the selected object on the form just below the original object.

3.	Move and resize the copy as you want.

The duplicated object is a completely independent object, just as if you had copied the original to the Clipboard and then pasted it in, or as if you had created it from scratch.

Exceptions: If the object you are duplicating is a table or multi-record object, the new one will violate the rule that a form cannot have two objects of the same type representing the same table in the data model. In this case, the new table will be an undefined table with the same table-level properties (color, column positions, and so on), but any fields will be replaced by undefined fields.


Design | Align

Choose Design | Align to line up a group of objects:

1.	Shift-click to do multiple selection of the objects.

2.	Choose Design | Align to see the Align menu.

Objects in a horizontal row can be lined up along their top edges, bottom edges, or midline. An object never leaves its container in order to align; it goes as far as it can in the indicated direction, then stops. If the objects are inside a table, they align within their column.

A vertical column of objects can be aligned left or right, or centered.

Note:	You must select more than one object to use Design | Align.


Design | Adjust Size

Choose Design | Adjust Size to make a group of objects exactly the same size.

1.	Shift-click to select the objects.

2.	Choose Design | Adjust Size to see the Adjust Size menu. Choose which selected object to use as a standard size for all the selected objects.

Choose Minimum Width to resize all objects to be the same size as the narrowest object.

Choose Maximum Width to resize all objects to be the same size as the widest object.

Choose Minimum Height to resize all objects to be the same size as the shortest object.

Choose Maximum Height to resize all objects to be the same size as the longest object.

If Paradox cannot resize an object, it ignores that object and resizes all the objects it can.

Note:	You must select more than one object to use Design | Adjust Size.


Design | Adjust Spacing

Choose Design | Adjust Spacing to adjust a group of objects so that the space between the objects is exactly the same.

1.	Shift-click to select the objects.

2.	Choose Design | Adjust Spacing to see the Adjust Spacing menu.

You can adjust either the horizontal or vertical spacing.

Note:	You must select more than one object to use Design | Adjust Spacing.


Design | Copy To SpeedBar

Choose Design | Copy To SpeedBar to change the default properties for a design tool. All objects you subsequently place with that tool have the same properties.

To copy an object's properties to a design tool,

1.	Set a design object's properties the way you want them.

2.	Choose Design | Copy To SpeedBar.

You can also use Design | Copy To SpeedBar to influence the properties on objects you create that do not have tools on the SpeedBar. If you select a page, table header, a record in a table or multi-record object, or the edit region of a labeled field, you can use Design | Copy To SpeedBar to alter the properties of a "hidden" tool that creates those objects.

Note:	Design | Copy to SpeedBar does not change the properties of any objects contained by the object you select. You must change the properties of each contained object separately.

The changes you make to the SpeedBar are preserved only for the current Paradox session. To make these changes permanent, choose Properties | Designer. In the Designer Properties dialog box, select Change Contents.

See Also

Designer Properties dialog box


Properties menu

Properties | Desktop

Properties | Designer

Properties | Form

Properties | Current Object

Properties | Form Options

Properties | Zoom

Properties | Snap To Grid

Properties | Show Grid

Properties | Grid Settings

Properties | Horizontal Ruler

Properties | Vertical Ruler

Properties | Expanded Ruler


Properties | Desktop

Use the Properties | Desktop dialog box to change the way your Desktop looks. To open the Properties | Desktop dialog box, choose Desktop from the Properties menu.

Dialog Box Options

Title

Type the title you want to appear on the Desktop title bar.

Background Bitmap

Type the name of a bitmap file or choose Find to select one from a list. Choose Center Bitmap to display the bitmap in the center of the Desktop, or choose Tile Bitmap to repeat the bitmap until it fills the Desktop.

Find

Choose Find to open the Select File dialog box, where you can choose another bitmap file for the Desktop's background..

SpeedBar

Check Floating to move the SpeedBar from its original position, then choose a 1 or 2 column/row format. To return the floating SpeedBar to its original position, choose Fix from its Control menu.

ObjectPAL Level

Choose the skill level you want when working with ObjectPAL:

Beginner	This level presents the most basic ObjectPAL methods, types, and constants. This subset of ObjectPAL is powerful enough to build full-featured applications, yet small enough to learn in a short time.

Advanced 	This level gives you more methods and procedures to use when you attach code to objects in forms and reports.

Note:	ObjectPAL code executes the same, regardless of the ObjectPAL level setting, so application developed with an Advanced level will run on a system with the level set to Beginner.

Paradox saves the changes you make to the Desktop in your PDOXWIN.INI file.

See Also

Form Design SpeedBar


Properties | Designer

Choose Properties | Designer to change the way objects appear or behave onscreen. In the Designer Properties dialog box, you can set preferences that are common to both form and report design windows.

You can change the way objects are selected, how they look onscreen, and how they behave as you move them. You also save SpeedBar design tool changes in a file to preserve them for future Paradox sessions.

See Also

Using Select From Inside

Using Frame Objects

Using Flicker-Free Draw

Using Outlined Move/Resize

Using saved SpeedBar settings


Designer Properties Dialog Box

Use the Designer Properties dialog box to change the way objects appear or behave onscreen. You can set preferences that are common to both Form and Report Design windows. To open the Designer Properties dialog box, choose Properties | Designer.

Dialog Box Options

Design Preferences

Check or uncheck the design preferences you want:

Select From Inside	When this is checked, you click an object to select it. If Select From Inside is unchecked, you can still select a contained object directly by clicking repeatedly until it is selected.

Frame Objects	When this is checked, many objects have a dotted border so you can see object boundaries.

Flicker-Free Draw	Gives you a smooth and flicker-free view onscreen. If your screen redraw is too slow, try unchecking this option.

Outlined Move/Resize	Shows only a dotted outline of an object while you're moving or resizing it. The object reappears when you release the mouse button. To see the object during the move, uncheck this option.

Prototype Objects

If you change the properties of a design tool on the SpeedBar, you can choose how to save the changes:

Change Name	To use a different file, choose Change Name and type the name of the file you want in the File Name text box.

To create a new file, choose Change Name and type a new file name in the File Name text box. The file name can be up to eight characters, with the extension .FT. Paradox keeps the original SpeedBar property settings in PXTOOLS.FT, and stores the changed SpeedBar properties in the new SpeedBar property file.

Change Contents	Saves the current SpeedBar properties to the file named in the File Name text box.

Changes to the SpeedBar that you save in the Designer Properties dialog box are preserved for future Paradox sessions.

If you overwrite the original PXTOOLS.FT SpeedBar property file, you can recover it by loading PXTOOLS.FT in the Designer Properties dialog box, then deleting PXTOOLS.FT from your working directory. The next time you open Paradox, the original file is restored.

See Also

Using Select From Inside

Using Frame Objects

Using Flicker-Free Draw

Using Outlined Move/Resize

Using saved SpeedBar settings


Using Select From Inside

When you click a composite object (an object made up of more than one part), you choose how you want Paradox to select contained objects. Use the Select From Inside option in the Designer Properties dialog box to set this choice.

Suppose you have an ellipse contained in a box. What do you want selected when you click the ellipse--the box or the ellipse? To select the outermost object first, uncheck Select From Inside. When you click the ellipse, Paradox selects the box. The second click on the ellipse selects it.

Likewise, if you have a field contained in an ellipse contained in a box, and you click the field with Select From Inside off, the first click selects the box, then the second click selects the ellipse, and the third click selects the field.

If Select From Inside is on (checked) you can select the part of a composite object you click. In the example above where a field is contained in an ellipse contained in a box, you click the field to select the field, click the ellipse to select the ellipse, and click the box to select the box.

See Also

Designer Properties dialog box


Using Frame Objects

You can choose to display the objects on your screen with or without frames. If you check Frame Objects in the Designer Properties dialog box, then objects without a clear frame or outline are outlined by dotted lines to help you see them.  You might want to uncheck this if you have too many such objects because it can give a cluttered look that gets confusing. If you uncheck Frame Objects, Paradox shows frames only on objects whose Frame property (the frame's color, style, or thickness) you've changed.

Note:	These frames appear only in design windows, not in Table or Form windows.

See Also

Designer Properties dialog box


Using Flicker-Free Draw

Sometimes you might notice that the screen flashes when you move or resize objects. This is especially noticeable when your design has a dark background. Check Flicker-Free Draw to suppress this behavior.

Turning Flicker-Free Draw on does eliminate some screen flickering, but it can cause the movement or resizing of objects to be slower. Try using your form with Flicker-Free Draw on and off, to see which works better for you.

See Also

Designer Properties dialog box


Using Outlined Move/Resize

Use Properties | Designer | Outlined Move/Resize to choose what you see when you move or resize an object.

Uncheck Outline Move/Resize to see the object itself move, expand, or contract as you move or resize it.

Check Outline Move/Resize to see an outline of the object move, expand, or contract as you move or resize the object.

Most moving and resizing is faster with Outlined Move/Resize checked, because Paradox does not redraw the screen image until the operation is complete. However, some operations are clearer when you can see what is happening throughout.

See Also

Designer Properties dialog box


Using Saved Speedbar Settings

If you change the properties of any of the design tools, you can save the changes to a file. You can have several SpeedBar property files.

To use an existing file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Name and type the name of the file you want in the File Name text box. Paradox displays a message informing you that the file already exists and asks if you want to load the file.

Choose Yes to load and use the file. Changes you've made to the SpeedBar are not applied to the file you load.

Choose No to replace the file shown in the File Name text box with your current settings.

Choose Cancel to cancel the operation and return to the Designer Properties dialog box.

To create a new file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Name, then type a new file name in the File Name text box. The file name must be eight characters or fewer, with the extension .FT.

Paradox keeps the original SpeedBar property settings in PXTOOLS.FT, and creates an additional SpeedBar property file to store the SpeedBar properties as you've changed them.

To overwrite the contents of the current SpeedBar property file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Contents. When you choose OK to exit the Designer Properties dialog box, Paradox overwrites the contents of the file shown in the File Name text box with the changes you've made to the design tools.

If you overwrite the original PXTOOLS.FT SpeedBar property file, you can recover it by loading PXTOOLS.FT in the Designer Properties dialog box, then deleting PXTOOLS.FT from your working directory. The next time you open Paradox, the original file is restored.

Tip:	If you sometimes design documents for the screen, and sometimes for the printer, you might want to create two specialized .FT files, one with settings appropriate for screen documents and one with settings appropriate for printed documents.


Properties | Form

Choose Properties | Form to

Alter the window style of your form.

Alter the ObjectPAL methods of the form manager.

See Also

Properties | Form | Window Style

Properties | Form | Methods


Properties | Form | Window Style

Choose Properties | Form | Window Style to use advanced form-design options. You specify whether you want your form to appear as a window or as a dialog box, and set its title and border properties.

When you choose Properties | Form | Window Style, the Form Window Properties dialog box opens.

After you change the window style of your form, to see the changes you must save the form and reopen it.

See Also

Form Window Properties dialog box


Form Window Properties Dialog Box

The Form Window Properties dialog box gives you advanced form-design options. You specify whether you want your form to appear as a window or as a dialog box, and set its title and border properties. To open the Form Window Properties dialog box, choose Properties | Form | Window Style.

To see the changes after you finish, you must save the form and reopen it.

Dialog Box Options

Window style

Choose how you want the form to appear:

Window	Displays the form in a window (default).

Dialog Box	Displays the form in a dialog box. When a form is displayed as a dialog box,

It opens in the center of the screen.

It lies on top of normal windows.

It can be moved outside of the Desktop.

It cannot be resized by the user.

Frame properties

These options are available only if you check Dialog Box as your Window Style:

Dialog Frame	Displays the form in a normal Windows dialog box. The border, colors, and other settings are determined in the Windows Control Panel.

Border	Displays the form with a black border instead of the normal Windows style. If you do not check Dialog Frame or Border, the Dialog Box displays with no border.

Thick Frame	Displays the dialog box border as a thick black line.

Title Bar Properties

These options are available only if you check Dialog Box as your Window Style and Title Bar as a Window Property.They are placed automatically if you check Window as your Window Style:

Control Menu	Places the Control Menu in the top left corner of your dialog box.

Minimize Button	Places a Minimize button in the top right corner of your dialog box.

Maximize Button	Places a Maximize button in the top right corner of your dialog box.

Window properties

Choose the window features you want the form to have:

Title	Type a window title. This title appears under the icon when users minimize the form. It also appears on the title bar if you check Title Bar, below. If you do not type anything here, Paradox uses the form name. To have a blank title bar, type a space in the Title text box.

Title Bar	Puts a title bar on your form. If you check Window as your Window Style, Title Bar is automatically enabled and cannot be turned off.

Vertical Scroll Bar	Displays a scroll bar on the right side of your form.

Horizontal Scroll Bar	Displays a scroll bar on the bottom of your form.

Size To Fit	If you check Size To Fit, Paradox opens the form in a window of the size specified in the Page Layout dialog box. If Size To Fit is unchecked, the form opens in the Windows default size. This option is always enabled if you check Dialog Box as your Window Style.

Modal	Prevents users from working anywhere else in Paradox until the form is closed. (Users can still work in other applications, however.) This option is available only if you check Dialog Box as your Window Style.

Mouse Activates	Mouse Activates is checked by default. If you check Dialog Box as your Window Style, you can uncheck this option to let users click the form to activate it without changing the focus to it.

For example, if you have created a personalized SpeedBar and you want to use the tools on that SpeedBar in your form, unchecking Mouse Activates will prevent Paradox from activating the SpeedBar window every time users click one of its tools.

Note: Mouse Activates is always checked and unavailable for Window style or modal Dialog Box style.

Standard Menu	When this option is checked, any form displays the standard Paradox Form window menu when you're viewing data. Standard Menu is checked by default. It is available only if you check Window as your Window Style.

When you write your own Form window menu in ObjectPAL and attach it to a form, it will always take precedence over the standard Paradox menu, whether or not Standard Menu is checked. To make your customized ObjectPAL menu the default for all your application's forms without specifying it for each form, write your ObjectPAL application to install it at startup, then set Standard Menu to OFF (unchecked) for all other forms in the application.

Some of these options require ObjectPAL methods attached to your form. See the ObjectPAL Developer's Guide and the ObjectPAL Reference for details.

See Also

Page Layout dialog box


Properties | Form | Methods

Choose Properties | Form | Methods to edit ObjectPAL methods that can be attached to a form.

When you choose Properties | Form | Methods, the Methods dialog box opens.

A method is ObjectPAL code that defines the behavior of an object.

See Also

The Methods dialog box


Properties | Current Object

Choose Properties | Current Object to inspect properties of the selected object. It's the same as right-clicking the object.

When you choose Properties | Current Object, the list of properties for the selected object pops up. Choose the property you want to see or change.

This command is unavailable when you're viewing data.


Properties | Form Options

Commands on the Form Options menu affect options you set using the lower section of the Properties menu in the Form Design window.


Properties | Form Options | Save Defaults

Choose Form Options | Save Defaults after you've set all your preferences on the Properties menu the way you like them. These preferences are the properties you check on the Properties menu, from Band Labels to Expanded Ruler, and the Zoom size and Grid Settings you specify.

When you choose Save Defaults, Paradox saves the current preferences as the default for all Form Design windows. These default preferences remain in effect from one session to another, until you save a different default set.

To restore the Properties menu to defaults you last saved in the current Paradox session, choose Form Options | Restore Defaults.

Note:	You cannot retrieve default preferences from an earlier Paradox session.

The Form Options menu is available only in the Form Design window.

See Also

Form Options | Restore Defaults


Properties | Form Options | Restore Defaults

Choose Form Options | Restore Defaults to restore the previous Properties settings. These settings are the preferences you check on the Properties menu (from Zoom to Expanded Ruler).

Use Restore Defaults when you've changed these preferences and want to go back to the ones you last saved using Save Defaults.

When you choose Restore Defaults, Paradox restores the default preferences you last saved in the current Paradox session (using Save Defaults).

Note:	You cannot retrieve default preferences from an earlier Paradox session.

The Form Options menu is available only in the Form Design window.

See Also

Form Options | Save Defaults


Properties | Zoom

Choose Properties | Zoom to change the scale of a form onscreen. You can zoom out (decrease the scale and see a larger area) or zoom in (increase the scale and see part of the form up close).

To take a step back from your form, choose 25% or 50%.

To take a closer look at your form, choose 200% or 400%.

There are also three automatic zoom sizes:

Fit Width	Fits the width to the window

Fit Height	Fits the height to the window

Best Fit	Fits the entire form to the window


Properties | Snap To Grid

Choose Properties | Snap To Grid to line up objects on a form.

When you check Snap To Grid, objects jump to the closest minor division of the grid when you move or resize them.

Any objects on your form stay where they are until you move or resize them.

Internally generated resizes (such as when you add text to a text object or define a field object) do not snap to the grid.

To see the grid, choose Properties | Show Grid. Paradox displays major grid lines and minor grid ticks. You do not need to have the grid showing.

To change the grid setting, choose Properties | Grid Settings.


Properties | Show Grid

Choose Properties | Show Grid to see the grid in the Form Design window.

When you check Show Grid, Paradox displays major grid lines and minor grid ticks.

Show Grid lets you see the grid to help you line things up by eye, or to see where objects are snapping if you have Snap To Grid on.

To make objects snap to the grid, use Properties | Snap To Grid

To change the grid setting, choose Properties | Grid Settings.

See Also

Properties | Snap To Grid

Properties | Grid Settings


Properties | Grid Settings

Choose Properties | Grid Settings to change the settings of the grid. Paradox opens the Grid Settings dialog box.

Units	Choose inches or centimeters as the unit of measurement

Major division	Specify the distance (in the units chosen) between major grid lines

Minor division	Specify the number of minor divisions (shown by tick marks) between major grid lines

Check Snap To Grid to use the grid to limit moves and resizes to grid lines.

Check Show Grid on the Properties menu to see the grid. Paradox displays major grid lines and minor grid ticks.

See Also

Properties | Snap To Grid

Properties | Show Grid


Properties | Horizontal Ruler

Check Horizontal Ruler on the Properties menu to view a ruler across the top of the design area. In the Form Design window, the ruler shows a shadow of the selected objects.

Units on the ruler can be inches or centimeters. To change the units, choose Properties | Grid Settings.

To remove the ruler, choose Horizontal Ruler on the Properties menu again.

You can also align objects by using a grid. To display a grid, choose Properties | Show Grid. Use Properties | Grid Settings to change the units or the mesh of the grid.

See Also

Properties | Grid Settings

Properties | Show Grid


Properties | Vertical Ruler

Choose Properties | Vertical Ruler to view a ruler down the left side of the design area. In the Form Design window, the ruler shows a shadow of the selected object(s). No Vertical Ruler appears in the Form window.

Units on the ruler can be inches or centimeters. To change the units, choose Properties | Grid Settings.

To remove the ruler, choose Vertical Ruler on the Properties menu again.

You can also align objects by using a grid. To display a grid, choose Properties | Show Grid. Use Properties | Grid Settings to change the units or the mesh of the grid.

See Also

Properties | Grid Settings

Properties | Show Grid


Properties | Expanded Ruler

Choose Properties | Expanded Ruler options to display a ruler with editing and layout buttons. Make sure Properties | Horizontal Ruler is checked, as well.

Use the buttons on the expanded ruler to layout text in a text object. You can adjust

Alignment		Choose left, centered, right, or justified to align selected text. If no text is selected, the next text you type will be aligned the way you chose.
Tabs		Select a Tab button, then click the object's shadow above the ruler to place the tab. Slide a tab to move it, or drag it off the ruler to remove it. Types of tabs available are right, left, center, and decimal.
Line spacing		Click the line spacing you want for the selected text. If no text is selected, the next text you type will be spaced the way you chose. Choose 1 for single-spaced text, 2 for double-spaced, and so on.
The expanded ruler applies only to a selected text object with the text insertion point flashing.


Forms

Using Paradox forms, you can display the data, graphics, calculations, and headings from tables any way you want. You can combine information from several tables and include special design objects to give the form the exact look and functionality you want. Forms are invaluable for simplifying data entry tasks.

You create and modify forms in the Form Design window. Here you can change things like layout, data fields, links, and properties. To change data, choose Form | Edit Data or Form | View | Data.

See Also

Form window tasks

Tasks common to all windows

Form window commands


Form window tasks

Opening a form

Form View SpeedBar

Form navigation buttons

Tiling multiple pages

Switching between Form and Table windows

Printing forms

Creating a new form

Form Design SpeedBar

Single-table Design Layout dialog box

Page setup

Modifying a form's design

Summaries

Using calculated fields

Attaching methods to objects on forms

Delivering a form


Opening a Form

From a Table window, you can open a Paradox form three ways:

Click the Quick Form SpeedBar button.

Choose Table | Quick Form.

Press F7.

To open an existing form from the Desktop, choose File | Open | Form or click the Open Form button. Paradox displays the Open Document dialog box.

Choose the form you want from the list.

Check View Data to see data in the form.

Check Design to modify the form's design.

See Also

Open Document dialog box

Form View SpeedBar

Creating a new form


Open Document Dialog Box

Use the Open Document dialog box to specify the file you want to open. To open the Open Document dialog box, choose File | Open | Form.

Dialog Box Options

File Name

Type the file name in the File Name box or select it from the list. To open a document that is not in the working directory, either

Type the file name (including the full directory path) in the File Name box.

Use the Path list.

Choose Browse.

Path

Lets you choose an alias or your private directory.

Type

Shows the type of document you chose to open. Paradox lists all documents of that type in the current path.

Browse

Opens the Browser, where you can choose a file in another directory.

Open Mode

Choose View Data to open the form displaying data. Choose Design to modify the form's design.

Open As

Opens the document as a form or a report. You can use the layout of a form as the record band of a report.

Note:	Not all forms lend themselves well to acting as a report.

Some objects in a form (such as buttons and crosstabs) are not allowed in reports. These will be deleted in the report.

You can place two linked tables side by side in a form. You cannot do this in a report because the tables become undefined.  However, you still have the object placed and can start designing your report from there.

Change Table

Opens the document using a different master table than the one on which it was originally designed. When you choose Change Table, Paradox opens the Select File dialog box, where you specify the new master table. This should be a table of similar structure. Paradox warns you of any problems or complications caused by changing the master table. You can accept possible problems or cancel the change. When you open the form, the fields from the new table are displayed.

See Also

Browser

Select File dialog box

Designing forms from reports

Viewing a form with a different table


Viewing a Form with a Different Table

Paradox gives you the ability to open a form created on one table using the data from another table, or from a query. Suppose you design a form for Lineitem and like the layout, colors, and other attributes so much you want to display the data from Orders in the same style. Instead of re-creating the form on the new table, you can inspect the existing form's icon in the File Browser or the Folder window and choose View With.

When you use View With, Paradox creates a new form, copying the existing form's layout and properties, and attempts to place the fields from a different table or query in the new form. The original form is not changed.

You can also open a form with a different table or query from the Open a Document dialog box by choosing the Change Table button.

Paradox opens the Select File dialog box, from which you can choose a different table (or use the Type drop-down list to choose a query) to view in the form. Choose the table or query you want.

See Also

Open Document dialog box


Form Navigation Buttons

Navigation buttons appear on the SpeedBar when you enter, view, or edit data on a form. Click the navigation buttons to move quickly to parts of the database.

	Top of file
	Up one set of records
	Up one record
	Down one record
	Down one set of records
	End of file
A set of records is the number of records visible onscreen.

Note the difference between navigating in a form and navigating in a report:

In a form	In a report
Navigation buttons move through records.  Commands on the Page menu move through pages.	Both navigation buttons and commands on the Page menu move through pages.
You can use more than one page to show a record.	You can display more than one record on each page.


Tiling Multiple Pages

If your form has several pages, you might want to use a tiling option, available under Form | Page | Tile.

When you choose	You see the pages

Stack Pages	One at a time, on one top of another

Tile Horizontal	Side-by-side, horizontally across the screen

Tile Vertical	Top-to-bottom, vertically down the screen

You might not notice a difference in tiling options if you've specified a large page from the Page Layout dialog box. Try using Properties | Zoom to zoom out to a smaller display of pages (like 25%). Then you see more than one page at a time, and the differences in tiling options are obvious.


Switching Between Form and Table Windows

Forms in Paradox display the data from your tables in an alternate format. You can edit data in either a Form window or a Table window.

To open a form from a Table window, first select the record you want. Then either

Click the Quick Form SpeedBar button.

Choose Table | Quick Form.

Press F7.

Paradox displays the preferred form, if you've specified one, or creates a default form for you. The form displays the record selected in the table.

To toggle back to the Table window again, either

Click the Table View SpeedBar button.

Choose Form | Table View.

Press F7.

See Also

Choose Preferred Form dialog box

Properties | Preferred

The SpeedBar


Printing Forms

Form Window

To print a form from the Form window,

1.	Choose File | Print or click the Print button on the SpeedBar. Paradox opens the Print File dialog box.

2.	If you're printing a multi-page form, choose a page range or choose All to print every page.

3.	Choose the number of copies.

4.	Choose whether you want the pages to be collated if you are asking for more than one copy.

5.	Choose OK to print the form.

When you print a form with data in it, Paradox prints the current record (or current set of records if you have a multi-record object or table frame in the form). Paradox does not print a form for each record in the table. If you want to do this, use a report.

Form Design Window

To print a form from the Form Design window,

1.	Choose File | Print or click the Print button on the SpeedBar. Paradox opens the Print File dialog box.

2.	If you are printing a multi-page form design, choose a page range, or choose All to print the entire form design.

3.	Choose the number of copies.

4.	Choose whether you want the pages to be collated if you are asking for more than one copy.

5.	Choose OK to print the form design.

See Also

Print File dialog box

Printing records in a form

Designing forms from reports

The SpeedBar


Printing Records in a Form

When you print a form with data in it, Paradox prints the current record (or set of records if you have a multi-record object or table frame in the form). Paradox does not print a form for each record in the table. If you want to do this, use a report.

To use a form's layout but print it as a report, choose File | Open | Form. In the Open As panel, choose Report from the drop-down list.

Note:	Not every form lends itself to acting as a report.

See Also

Printing forms

Designing forms from reports


Print File Dialog Box

Use the Print File dialog box to specify printing options for forms. To open the Print File dialog box, choose File | Print.

Dialog Box Options

Print

Choose All or type in a page range. (If you have only one page, ignore this.)

To print pages in reverse order, type the higher number in the From box and the lower number in the To box.

Copies

Type in the number of copies you want.

Collate

Make sure Collate is checked if you want multiple copies collated into sets.

See Also

Printing forms


Creating a New Form

To create a new form, choose File | New | Form. On an empty Desktop, you can right-click the Open Form SpeedBar button and choose New. Creating a new form takes you through two or three dialog boxes, depending on your choices. Here's the general road map:

First the Data Model dialog box opens. Here you choose the tables you want to use and how they are related. You can always change this, so do not worry if you do not get everything right.

If you do not choose any tables, click OK to open the Page Layout dialog box. Choose page sizes and whether you are designing for printer or screen.

If you choose a single table, the Single-table Design Layout dialog box opens.

If you choose multiple tables with a 1 [image] M relationship, the Multi-table Design Layout dialog box opens.

Both of these let you make selections to generate a starting layout with most of your data objects on it. You can then modify this design in the design window. From these dialog boxes you can click the Page Layout button to get to the Page Layout dialog box if you want.

Adding a table to the Data Model panel

To add a table, either

Select the table from the list and click [image].

Double-click the table name.

The table name appears in the Data Model.

Choose Browse if you want to use a table not listed in the dialog box. This opens the Browser, where you can locate tables in a different directory.

Removing a table from the Data Model panel

To remove a table from the Data Model panel, select it and click [image].

See Also

The SpeedBar

Table frames

Modifying a table frame

Page setup

Dialog boxes:

Data Model dialog box

Page Layout dialog box

Single-table Design Layout dialog box

Multi-table Design Layout dialog box

Browser


Data Model Dialog Box

Use the Data Model dialog box to specify tables you want to use in your forms and reports, and how these tables are related to each other. You can also use the Data Model dialog box to choose and link tables for use in a query. To open the Data Model dialog box, choose File | New | Form, File | New | Report, or File | New | Query.

The big panel on the right shows a schematic representation of your data model. You place the tables you want here, then link them to each other.

If you open the Data Model dialog box from an existing design document, and a table name in the data model panel has an asterisk, that means a field from that table is bound to an object on the document.

To link tables, click the master table and drag to the detail table. When you release the mouse button, the Define Link dialog box opens.

Tip:	It's a good idea to link tables as you go, so you have more room in the data model diagram.

Dialog Box Options

File Name

Select the table you want to be the master table, or leave this undefined. Click the Add Table arrow [image]  or press Alt+A to place the selected table in the data model panel. Similarly, select other tables you want to attach to the document. Click the Remove Table arrow [image]  or press Alt+D to remove tables from the list. Once you've placed a table in the data model panel, you can inspect it.

Note: In the data model panel, if a table name has an asterisk, that means a field from that table is bound to an object on the document.

Path

To see other tables, choose an alias or your private directory. Or choose Browse to open the Browser. The tables you choose do not have to be in the same directory.

Type

Choose <Tables> or <Queries>. The Path file list shows all tables or queries in the working directory.

Link

To change the way two tables are linked, select the detail table and choose Link to display the Define Link dialog box. From there, choose Unlink to break the existing link, then specify the link you want.

Unlink

To remove an existing link, select the detail table in the data model panel and choose Unlink.

Note:	When you use the Data Model dialog box to link tables for a query, you must follow the same rules that you use when linking tables for a form or report. For example, the direction of the link (master to detail) matters, and the detail table must be keyed. To link unkeyed tables in a query you must place example elements in the Query window.

See Also

Browser

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Creating Forms (an overview)


Single-Table Design Layout Dialog Box

Use the Design Layout dialog box for a single-table form to format the basic layout of your design. To open the Design Layout dialog box, choose OK from the Data Model dialog box, or choose Design | Design Layout from the Design window.

Dialog Box Options

Field Layout

Choose how you want fields in single-record and multi-record styles displayed:

By Columns	Displays objects in columns, down the page. This is the default layout.

By Rows	Displays objects in rows, across the page.

Multi-Record Layout

If your layout is multi-record, specify whether you want the records to be arranged horizontally, vertically, or both. The default for forms is Both.

Labeled Fields

Gives you the option of using labeled fields or unlabeled fields. In a tabular design, you always use unlabeled fields, because this option is unavailable.

Select Fields	Opens the Select Fields dialog box, where you specify which fields to use in the layout.

Page Layout	Opens the Page Layout dialog box, where you specify page dimensions, and whether you are designing for printer or screen.

Style

Use these options to choose a different layout:

Single-Record	Displays one record of the table at a time, in a free-form layout. Single Record is the default style for a form.

Multi-Record	Displays several records of the table in a multi-record object. Use the Multi-Record options (Horizontal, Vertical, Both) to detail how you want the records repeated. If you want a different number of repeats, you can change that from the design window.

Tabular	Displays an image of the table you chose. Rows and columns are shown just as if you were working with the table itself.

Blank	Removes all fields from the design. The fields of the chosen table are still available for placement, using the Field tool.

Note:	Creating a design documentidh_glos_desn by choosing a table with a blank layout is different from creating a blank design document. When you choose a table, then choose a blank layout, the design document you create is associated with the table, and its fields are available for placement. A truly blank form is not associated with any table, and only special fieldsidh_glos_special can be placed on it.

A model of the form you are designing appears in the dialog box. As you make changes to the design, the model changes.

See Also

Creating a new form

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Select Fields dialog box

Page Layout dialog box

Field tool

Table frames


Table Frames

If you choose the tabular layout from the Design Layout dialog box, you'll see a table frame in your design.

Unless you modify it, a table frame looks like the source table that defines it. But a table frame is not a table. It is a composite object consisting of

A grid (the structure for the fields and labels that represents a table). This contains a header, rows, and columns.

A header that can be inspected individually, detached, or even deleted. The header contains text objects.

Text objects (the labels of the fields) in the header.

Rows (records) that can be inspected individually. Rows contain field objects.

Field objects (the fields from the source table) in rows and columns.

Columns that can be inspected, inserted, or deleted individually.

You can manipulate any of the contained objects to customize the look of your table.

See Also

Creating a new form

Single-table Design Layout dialog box

Multi-table Design Layout dialog box

Modifying a table frame


Modifying a Table Frame

A table frame is a collection of other objects, so you can customize it to display your data in either a form or report. You can

Resize a column by dragging its right grid line in the header area.

Resize row height by dragging the horizontal grid line under a field object.

Delete a column by selecting it and pressing Del.

Insert a column by selecting a column and pressing Ins (The new column appears to the left of the selected column.)

Redefine a field object by inspecting it and choosing Define Field from its properties menu.

Add a regular, special, summary, or calculated field by placing and defining a new field object.

Stack field objects in the same column.

Add design elements like lines, boxes, and ellipses.

Add data elements like other tables, graphs, or crosstabs.

Inspect the grid to change any of its properties.

Modifying individual parts of a table

To change the parts of the table individually, you can

Retype the labels, and inspect them to change any text properties.

Inspect the field objects to change properties.

Inspect the record (row) as a whole to change its properties.

Detach the header.

Inspect the header to change its properties.

Note:	Because the table frame you place in a design is not the actual table, property changes and table frame restructuring do not affect the actual table. Only changes made to the data are reflected in the table itself.

See Also

Creating a new form

Multi-table documents


Multi-Table Design Layout Dialog Box

Use the Design Layout dialog box for a multi-table form to format the basic layout of your design. To open the Design Layout dialog box, choose OK from the Data Model dialog box.

Dialog Box Options

Object Layout

Choose how you want objects in single-record and multi-record styles displayed:

By Columns	Displays objects in columns, down the page. This is the default layout.

By Rows	Displays objects in rows, across the page.

Fields Before Tables	When you check Fields Before Tables, all fields of the table's current record appear before any objects representing detail tables. Otherwise, detail tables appear first.

Nested	When you choose Many from the Number of Master Records panel, or if your data model has a 1 [image] M [image] M relationship, Paradox makes the Nested check box available. If you choose Nested, Paradox displays the master records in a multi-record object and places the detail record object inside the master multi-record object. The details are "nested" within the master.

Multi-Record Layout

If your layout contains multi-record objects, specify whether you want the records to be arranged horizontally, vertically, or both. The default for forms is Both. Your layout contains multi-record objects if

Detail Table Style is Record.

You have a Nested design.

Labeled Fields

The Labeled Fields check box gives you the option of using fields with Display Type labeled or unlabeled.

Select Fields

Opens the Select Fields dialog box, where you specify which fields to use in the layout. Note: You never see fields from unlinked tables (not linked to the master) in an automatically generated layout.

Page Layout

Opens the Page Layout dialog box, where you specify page dimensions and whether you are designing for printer or screen.

Detail Table Style:

Specify the type of object used to represent tables that have nothing nested in them:

Table	Specify a table object.

Record	Specify a multi-record object.

Number of Master Records

Specify the number of records you want from the master table:

One or Many	Displays either one or many records from the master table. In a form, the way in which these records are displayed depends on your Detail Record Style choice and whether the design is nested.

Blank	Removes all fields from the design. The fields of the chosen table are still available for placement, using the Field tool.

Note:	Creating a design document by choosing a table with a blank layout is different from creating a blank design document. When you choose a table, then choose a blank layout, the design document you create is associated with the table, and its fields are available for placement. A truly blank form is not associated with any table, and only special fields can be placed on it.

See Also

Creating a new form

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Select Fields dialog box

Page Layout dialog box

Field tool


Select Fields Dialog Box

Use the Select Fields dialog box to specify which fields to use in the layout of a form. To open the Select Fields dialog box, choose the Select Fields button in the Design Layout dialog box.

The table(s) you've chosen for the design appear on the left side of the dialog box. All the fields of the selected table appear in the Selected Fields list. When you open a new form, you always start with all fields. When you open an existing design document, only the fields previously included in its design appear in the Selected Fields list.

Dialog Box Options

Selected Fields

The fields from the table you selected are shown here. Paradox includes all fields from this list in the design. Fields appear in the design in the order they are shown in this list

To add another field without removing the first, click the table's drop-down arrow and Ctrl+click the field you want. That field is added to those already in the Selected Fields list.

Remove Field

To remove a field displayed in Selected Fields, choose it and click Remove Field.

To remove all fields and add only one, click the table's drop-down arrow and choose the field you want from the list. That field replaces those in the Selected Fields list.

Change Order

To change the order of the fields in the list, choose the field you want to move and use the up and down Change Order arrows.

All changes you make in the Select Fields dialog box can be modified in the design window. You can replace removed fields there using the Field tool. The Select Fields dialog box gives you the opportunity to make choices before opening the design window.

See Also

Single-table Design Layout dialog box


Page Layout Dialog Box

Use the Page Layout dialog box to specify page layout for printing your document or displaying it onscreen. To open the Page Layout dialog box, either

Choose OK in the Data Model dialog box.

Choose Page Layout in the Design Layout dialog box.

To change the page layout in a form, choose Form | Page | Layout from the Form Design window.

When you design for your printer, the fonts used are those your printer supports. What you see onscreen is a "best match" to the printer fonts and the screen fonts might not match the printer fonts exactly in height or width. Size To Fit objects choose their sizes based on the printer font sizes. Onscreen, this might cause clipping or text objects that seem to wrap too soon, but on paper they will look right.

Dialog Box Options

Design For

Choose Printer or Screen. The custom sizes you specify in the other panels refer to this choice.

Orientation

Choose Portrait or Landscape to change the way the final document prints on the page. (Paradox shows you a sample of the selected page orientation.)

Orientation is unavailable when you're designing for screen.

Paper Sizes/Screen Size

Choose one of the standard sizes. Paper Sizes are those your printer supports; they are available when you're designing for printer. Screen size is the size Paradox detects for your current screen driver; it is available when you're designing for screen.

Custom Size

Specify a non-standard size, to design a larger or smaller document. Units are those specified in the Units panel.

Units

Choose the units for custom size.


Page Setup

The default form is defined for the screen on a single page the size of the design area of the Desktop window.

To add a page

Choose Form | Page | Add from the Form Design.

To remove a page

Select the page and press Del.

To change the page dimensions

Choose Form | Page | Layout from the Form Design window.

To change the tiling

Choose Form | Page | Tile, then choose whether you want pages lined up horizontally, vertically, or stacked on top of each other.

To change the page order

Use Form | Page | Rotate; this sends the current page to the end.

Tip:	Cutting and pasting gives you an easy way to rearrange pages. After you've cut or copied a page, select a page and choose Edit | Paste or click the Paste button to paste it back into the form design. Paradox inserts the pasted page before the selected page. For example, if you cut page two of a five-page report, then select page five and paste the page back in, Paradox pastes it as page four.

See Also

Page Layout dialog box

Working with multi-page forms


Working with Multi-Page Forms

To move among the pages of a multi-page form, either

Choose Form | Page. You can move to the first, last, next, or previous page. When you move to a page, Paradox selects it.

Use the Form Design window's scroll bars, unless you have pages stacked. When you scroll to a page, Paradox does not select it.

Choose Page | Go To to display the Go To Page dialog box where you can type the page number you want in the form.


Designing Forms From Reports

Sometimes you've already designed a report with a data model and layout just the way you want it in a form. In this case, you can use that report design to create your form without having to create it over again.

To design a form from a report, choose File | Open | Report. This opens the Open Document dialog box. Choose the report you want to use. Click the drop-down arrow in the Open As panel and choose Form. When you choose OK, Paradox creates and opens a new form based on the contents of the report's record band.

Because forms do not use the banded layout that reports do, objects in group, page, or report bands are not included in the new form design.

Some objects behave differently in forms and reports. Calculated and summary fields, for example, look at data differently, so you might need to modify them to get the correct results. Summary fields located in the record band of a report work correctly in a form.

This process is about the same as selecting the record band of the report, copying it to the Clipboard, and pasting it into a form page except that

Designer preferences come over, too.

Page breaks get converted into a multi-page form.

Summaries that are not supported in forms are modified.

If the report design includes a page break in the record band, Paradox creates a multi-page form.

Paradox does not change the existing report; it remains untouched.


Modifying a Form's Design

To modify a form from the Desktop, you can either

Choose File | Open | Form (or click the Open Form SpeedBar button), then name the form to be changed and choose Design Mode.

Select the form's icon in a folder, then inspect it and choose Edit Design from its pop-up menu.

These are some things to help you when modifying a form:

The ruler

You can display horizontal and vertical rulers in Form Design; both are shown by default.

You can use the expanded ruler when working in text objects.

The grid

The grid square increments reflect the measurement type displayed in the ruler. For example, if metric measurements are used in the rulers, the grid increments are also metric. The grid is one way to get objects to line up and be sized and spaced out evenly.

The Design menu

The Design menu contains many commands to help you massage your design into just the look you want. For example,

Tables in forms do not automatically expand. The size and shape of the table you place determine how much of the table's data you see when you use the form. For this reason, scroll bars are available on table objects in forms.

Horizontal and vertical scroll bars are available for all tables, even if the table does not currently need to scroll.

In forms, text objects can have horizontal and vertical scroll bars.

See Also

Expanded ruler

Properties | Grid Settings

Form Design SpeedBar


Determining Tab Order

Tab order is the order in which objects become highlighted as users press Tab when viewing or entering data on your form. You can modify this order by changing the Tab Stop property and by using Design | Send to Back or Design | Bring to Front.

Tab Stop

If you choose Tab Stop from a pushbutton object's menu, Paradox includes the pushbutton in the Tab sequence of moving between objects. If you do not choose Tab Stop, Paradox bypasses the pushbutton in the Tab sequence, though users of your form can still use the mouse to select the object.

Design | Send to Back or Bring to Front

This is a good way to reorder the Tab sequence when you've moved objects around after you placed them on the form. Objects tab in the order in which you placed them on the form. After you move them around, this order might no longer make sense. To reorder the Tab sequence,

1.	Select the object you want first in the Tab sequence.

2.	 Choose Design | Send to Back.

3.	Repeat these two steps for each object on the form in the order you want the user to move through the form.


Finding Records in a Form

When you're viewing data in a form, choose Record | Locate to find a particular record or value.

Choose:	To open the:

Record	Locate Record Number dialog box

Value	Locate Value dialog box

And Replace	Locate and Replace dialog box

To search for more occurrences of an item, choose Record | Locate Next.

In a Table window, you can also search for a field by choosing Record | Locate | Field. The Locate Field dialog box opens, where you select the field you want, then choose OK.

See Also

Locate Record Number dialog box

Locate Value dialog box

Locate and Replace dialog box

Locate Field dialog box


Locate Record Number Dialog Box

Use the Locate Record Number dialog box to enter the record number of the record you want to move to. Type the number of the record you want to locate.

To open the Locate Record Number dialog box, choose Record | Locate | Record | Number.


Locate Value Dialog Box

Use the Locate Value dialog box to move to a particular value in a field.

To open the Locate Value dialog box, choose Record | Locate | Value or click the Locate Field Value button on the SpeedBar.

Dialog Box Options

Value

Type in the value you want to locate.

Case Sensitive

Check Case Sensitive to search for the text exactly as you typed it, including capitalization.

Exact Match

Check Exact Match if you do not want to treat pattern characters as wildcards.

@ and ..

Check @ and .. if you want to use either or both of these common wildcards in your search. @ stands for any character, and .. stands for any number of characters, including none.

Advanced Pattern Match

Check Advanced Pattern Match if you want to use an extended list of wildcards in your search.

Fields

Choose the field in which the value is to be found.

When you choose OK, Paradox moves to the first occurrence of the value. To move to the next occurrence, choose Record | Locate Next or click the Locate Next button on the SpeedBar.

If no values match, or after all matching values have been found, Paradox displays the message "[value] was not found" on the Desktop's status bar.

Note:	You can only locate values from this box. If you want to replace values, click the Edit Data SpeedBar button or press F9 to move into Edit mode, then choose Record | Locate | and Replace to open the Locate and Replace dialog box.

See Also

Locate and Replace dialog box

Common wildcards

Extended list of wildcards


Using Locate and Replace

To move to a particular value in a field and change that value, use Record | Locate and Replace. You must be in Field View and Edit mode.

1.	Choose Record | Locate | and Replace. You'll see the Locate and Replace dialog box.

2.	Choose from the Fields list the field that contains the value you want to change.

3.	Type in the value you want to change in the Value text box.

4.	Check Case Sensitive if you want to search for the text exactly as you typed it, including capitalization.

5.	Check Exact Match if you do not want to find fields that contain the value as a substring, and do not want to use a pattern.

6.	Check @ and .. if you want to use either or both of these common wildcards in your search. @ stands for any character, and .. stands for any number of characters, including none.

7.	Check Advanced Pattern Match if you want to use an extended list of wildcards in your search.

8.	Enter the replacement value in the Replace With text box.

9.	Choose OK.

For each field that contains a value that matches your entry in the Value text box, Paradox asks if you want to replace it. Choose Yes, or choose No to go to the next occurrence without changing this one.

Choose Record | Locate | and Replace to open the Locate and Replace dialog box.

See Also

Locate and Replace dialog box

Common wildcards

Extended list of wildcards


Locate and Replace Dialog Box

Use the Locate and Replace dialog box to move to a particular value in a field and change that value. To open the Locate and Replace dialog box, choose Record | Locate | and Replace.

Dialog Box Options

Value

Type in the value you want to change.

Replace With

Type in what you want the value changed to.

Case Sensitive

Check Case Sensitive to search for the text exactly as you typed it, including capitalization.

Exact Match

Check Exact Match if you do not want to find fields that contain the value as a substring, and do not want to use a pattern.

@ and ..

Check @ and .. if you want to use either or both of these common wildcards in your search. @ stands for any character, and .. stands for any number of characters, including none.

Advanced Pattern Match

Check Advanced Pattern Match if you want to use an extended list of wildcards in your search.

Fields

Choose the field that contains the value you want to locate and replace.

When you choose OK, Paradox finds the first occurrence of the value you want to replace and displays the Found a Match dialog box, where you can choose to skip the occurrence, change the occurrence, or change all occurrences.

See Also

Common wildcards

Extended list of wildcards


Found A Match Dialog Box

Paradox displays the Found a Match dialog box when it locates the value you want to replace. Use the dialog box to confirm whether you want to replace the value, replace all occurrences of the value, or skip an occurrence without replacing the value.

Dialog Box Options

Skip This Occurrence

Check this if you do not want to replace the value. When you choose OK, Paradox moves to the next occurrence of the value.

Change This Occurrence

Check this to replace this occurrence of the value. When you choose OK, Paradox replaces the value and moves to the next occurrence.

Change All Occurrences

Check this and choose OK to replace this and all other occurrences of the value.


Summaries

A summary is a powerful type of calculation in forms and reports. Use summaries to sum, average, count, and perform other statistical functions quickly and easily. You can also do this with a calculated field, but it is more efficient to use a summary.

Some of the more common summaries are

Function	Meaning	Use with

SUM	Sum of values	Number data types

AVG	Average of values	Number data types

STD	Standard deviation	Number data types

VAR	Variance	Number data types

MIN	Minimum value	Alpha, number, currency, date, and short number

MAX	Maximum value	Alpha, number, currency, date, and short number

FIRST*	First value	All data types

LAST*	Last value	All data types

PREV*	Previous value	All data types

COUNT	Number of values	All data types

* Not available in forms

See Also

Defining a summary

Defining the scope of a summary

Using calculated fields

Using field names in calculations

Calculating with regular fields

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Defining a Summary

A summary performs specific calculations on a specific set of values in a table.

To define a summary

1.	Inspect the field on which you want to perform the summary operation, and choose Define Field from its Properties menu.

2.	Click the top of the menu of available fields. The Define Field Object dialog box opens.

3.	Click the drop-down arrow for the table and choose the field on which you want to perform the summary operation.

4.	Click the drop-down arrow in the Summary area to display available summaries. Choose the summary you want.

5.	Choose OK.

The set of records over which the summary is made is called its scope. The scope is determined by the location of the summary field in your document.

See Also

Summaries

Defining the scope of a summary

Define Field Object dialog box


Defining the Scope of a Summary

A summary performs a calculation on a set of records. Before you can sum the set (add all values together), count the set (find how many values there are) or average the set (find what the average of all values is), or perform any other operation, you must define the set. This is done by defining the scope of the summary.

In a single-table form, Paradox works with only one set of data. In this case, the scope of the summary is the whole table.

In a multi-table form, the scope of a summary is dependent on the data hierarchy. The hierarchy is defined by the form's data model.

Example

Suppose you have defined your data model like this:

Customer [image] Orders [image] Lineitem

In this case, you can summarize values for fields in the Orders table for each record in the Customer table. In this relationship, Customer is the master table and Orders is the detail table. Paradox sums the set of Orders detail records for the current Customer record. Likewise, you can summarize values in the Lineitem table for the current record in the Orders table. Again, the master table (Orders) determines the scope of a summary on the detail table (Lineitem). The summary of Lineitems is performed on the set of all items for the current customer's current order.

Note:	In the data model Customer [image] Orders [image] Lineitem, you cannot create a summary of each customer's lineitems---only of each order's lineitems. Paradox can move only one level up in the data hierarchy when performing a summary.

When placing a summary field on a detail set of records in a 1 [image] M [image] M form, you must position the summary field within that detail's repeating region (the table frame or multi-record object that displays its records) or within the repeating region of the next table up in the data hierarchy.

See Also

Summaries

Defining a summary


Using Calculated Fields

You can create a calculated field from the Define Field Object dialog box. Check Calculated and type the calculation you want into the text box below the Calculated check box.

In forms, you can create calculations that use

Regular field values

Object values

Numeric constants

Alphanumeric strings

Certain ObjectPAL commands

Anything that could be the right-hand side of an assignment statement in ObjectPAL can be a calculated field value.

Using calculated fields, you build formulas to generate the results you want.

Calculated fields follow the same scoping rules as summary fields.

Regular field references or summaries follow the same scoping that fields follow.

Object values take their scope from the location of the object whose value is used, not the location of the calculated field.

In a calculated field you can summarize only a direct field reference. SUM (object) will not work. Neither will SUM (orders.quant * orders.price).

See Also

Summaries

Defining the scope of a summary

Define Field Object dialog box

Using field names in calculations

Calculating with regular fields

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Using Field Names in Calculations

To use a field name in a calculation, choose the field you want from the table's drop-down list. The field name appears in the text box at the top of the dialog box. Choose Copy Field to place that field in the calculated expression text box below the Calculated check box. In addition to the field name, you see the directory alias (if any) of the table and the table name. This points to the exact location of the field you want to use in the expression.

Note:	There is a difference between the field object you use in your design and the actual field of a table that the field object represents and contains. It's important to remember this when using field names in calculations. For example, the following expression tells Paradox to perform the calculation on the field objects named Qty and Price.

Qty * Price

The expression performs the calculation on the actual Qty and Price fields in the Lineitem table.

[Lineitem.Qty] * [Lineitem.Price]

See Also

Summaries

Using calculated fields


Calculating with Regular Fields

A common use of a calculated field is to calculate values of two or more fields from a table. For example, you can create a field object in a form on Lineitem, and define it as a calculated field that contains the formula

[Lineitem.Qty] * [Lineitem.Selling Price]

The value for a record in this calculated field is the product of the values of the Qty field and the Selling Price field.

See Also

Using field names in calculations

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Calculating with a Field and a Constant

You can use calculated fields in forms and reports. For example, to show the selling price of line items if you raise all prices by 25%, construct the formula

[Lineitem.Selling Price] * 1.25

The Selling Price field shows the current price, and the new calculated field shows the price after the increase.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Calculating with Alphanumeric Strings

You can use the + operator to combine alphanumeric strings. Suppose you want to create a field called Address that combines the values of the Street, City, State, and Zip/Postal Rt fields for the Customer table. You could create the formula

[Customer.Street] + [Customer.City] + [Customer.State] + [Customer.Zip/Postal Rt]

The values from these fields are combined into the one calculated field.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with a field and a constant

Calculating with ObjectPAL methods


Calculating with ObjectPAL Methods

You can use certain ObjectPAL methods as part of your field calculations. Most methods that involve numeric or alphanumeric strings are available in calculated fields.

Anything that could be the right-hand side of an assignment statement (x=y) in ObjectPAL can be a calculated field value.

You can also use the conditional statement iif to return specific values when certain conditions are true.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with a field and a constant

Calculating with alphanumeric strings

iif


Attaching Methods to Objects on Forms

To attach a method to an object,

1.	Inspect the object.

2.	Choose Methods. Paradox opens the Methods dialog box.

3.	Choose a method from the list, or type in a name for a custom method. Scroll right to see more of the list.

4.	Type the ObjectPAL method in the Edit window.

5.	Choose File | Save to save the method and the form to disk.

The method is now attached to the object.

For information on developing applications using forms and programming using ObjectPAL, see the ObjectPAL Developer's Guide.

See Also

ObjectPAL

Methods


Delivering a Form

The Form | Deliver command is mainly used by ObjectPAL developers. If you've created a form with ObjectPAL code attached to objects and you save the form for others to use, anyone who uses it can modify the ObjectPAL code, changing your application.

Delivery gives you a way to let others use your code, but not change it. When you deliver a form, Paradox removes all the source code from the form. Buttons and other objects still work exactly the way you've designed them. Your code is not lost; it's protected.

Using Form | Deliver also prevents others from redesigning your document. A delivered form cannot be opened in a design window.

When you choose Form | Deliver, Paradox saves a copy of the form with an .FDL extension. The D stands for Delivered. You can still change your ObjectPAL code using the form with its .FSL extension.

When you deliver a form, do not forget to deliver copies of all tables in its data model, along with any indexes and referential integrity files. The easiest way to make portable a set of tables, forms, and related files is to use an alias.

For information on developing applications using forms and programming using ObjectPAL, see the ObjectPAL Developer's Guide.

See Also

Methods

Language | Deliver

Aliases


Query Window Commands

When you're in the Query window, the Properties and Query menus are available to you on the menu bar. The File, Edit, Window, and Help menus do not change.

See Also

The Query menu

The Properties menu

Common menu commands

Query window tasks


The Query menu

Query | Add Table

Query | Remove Table

Query | Field View

Query | Run

Query | Wait for DDE

Query | Show SQL


Query | Add Table

Choose Query | Add Table to add a table to the Query window. The tables you put in the Query window are the ones you want to ask questions about.

You can also click the Add Table SpeedBar button.

When you choose Query | Add Table, Paradox opens the Select File dialog box. Select the table or tables you want to add to the Query window and choose OK.

File types

Once the Query window has a table in it, you can only add tables.

If you're adding to an empty Query window, you can add a form, a report, or another query. In the Select File dialog box, use the Type drop-down menu to choose the file type you want to add, then select the file from the File Name list. Paradox adds the tables used in the document to the Query window and places example elements to join the tables according to the document's data model.

See Also

Select File dialog box

Query | Remove Table

Using a multi-table design to link tables


Add Table Button

Click the Add Table button to add a table to the Query window. The tables you put in the Query window are the ones you want to ask questions about.

When you click the Add Table button, Paradox opens the Select File dialog box. Select the table or tables you want to add to the Query window and click OK.

Clicking the Add Table button is the same as choosing Query | Add Table.

File types

Once the Query window has a table in it, you can only add tables.

If you're adding to an empty Query window, you can add a form, a report, or another query. In the Select File dialog box, use the Type drop-down menu to choose the file type you want to add, then select the file from the File Name list. Paradox adds the tables used in the document to the Query window and places example elements to join the tables according to the document's data model.

See Also

Select File dialog box

Query | Remove Table

Using a multi-table design to link tables


Query | Remove Table

Choose Query | Remove Table to remove one or more tables from the Query window.

You can also click the Remove Query SpeedBar button.

When you choose Query | Remove Table, Paradox opens the Remove Table dialog box. Select the table(s) you want to remove and choose OK.

You can remove only one table at a time.

See Also

Selecting from lists


Remove Table Button

Click the Remove Table button to remove one or more tables from the Query window.

When you click the Remove Table button, Paradox opens the Remove Table dialog box. Select the table(s) you want to remove and click OK.

Clicking the Remove Table button is the same as choosing Query | Remove Table.

See Also

Selecting from lists


Query | Field View

Choose Query | Field View to toggle in and out of Field View. You can also click the Field View button.

Shortcut key  F2

Query | Field View is available when you view data in a Form window.

When you're in Field View, the cursor is a flashing insertion point. You can edit text in the usual way by typing, backspacing, and deleting.

When you are editing a query in the Query window, you can enter Field View by either

Pressing the Field View SpeedBar button.

Choosing Query | Field View.

Pressing F2.

Clicking in the field after it's been selected.

You have four ways to leave Field View: click the Field View SpeedBar button, click another field, choose Query | Field View again, or press F2.


Field View Button

Click the Field View button to toggle in and out of Field View. Clicking this button is the same as choosing Query | Field View.

When you're in Field View, the cursor is a flashing insertion point, and you can edit text in the usual way by typing, backspacing, and deleting.

To leave Field View, either

Click the Field View button on the SpeedBar again.

Press F2.

Click another field,

Choose Query | Field View.


Query | Run

Choose Query | Run to run the query. Paradox displays a status window to tell you the status of the query and displays the Answer table when the query is successfully completed. If there is a problem with the query, Paradox displays an error message, prompting you to correct it.

Shortcut  F8

You can also press the Run Query button on the SpeedBar.

If there are no problems with the query, you see the message "Query status" after Paradox checks the query. Then Paradox creates the Answer table and brings it up in its own window.

The Answer table is a temporary table. It is overwritten every time you run another query and deleted when you leave Paradox. To save the answer to a query, use Table | Rename. To save the query, use File | Save.

See Also

Table | Rename


Query | Wait for DDE

If Wait for DDE is on, the query refreshes every time the DDE value changes. If Wait for DDE is off, you must explicitly tell Paradox when to run the query, and it will take the current DDE value.

See Also

Exchanging data


Query | Show SQL

Choose Query | Show SQL to translate your query to Standard Query Language (SQL) and have the code displayed in a SQL editor. Your query must be on a remote database to use this command.

This command is the same as clicking the Display SQL SpeedBar button.


 Display SQL button

Click the Display SQL button to translate your query to Standard Query Language (SQL) and have the code displayed in a SQL editor. Your query must be on a remote database to use this function.

This is the same as choosing Query | Show SQL.


The Properties menu

Properties | Desktop

Properties | Answer Table

Properties | Query Options

Properties | Restart Options

Properties | Tile Tables

Properties | Cascade Tables


Properties | Desktop

Choose Properties | Desktop to change the way your Desktop looks. In the Desktop Properties dialog box you can change

Title	Type another title to appear on the Desktop title bar.

Background Bitmap	Type the name of a bitmap file or choose Find to see a list. Choose Center Bitmap to display the bitmap in the center of the Desktop, or choose Tile Bitmap to repeat the bitmap until it fills the Desktop.

SpeedBar	Make the SpeedBar a floating palette shaped into one or two columns or rows. To return the floating SpeedBar to its position under the menu, choose Fix from its Control menu.

ObjectPAL

Level	Advanced gives you more methods and procedures to use when you attach code to objects in forms and reports.


Properties | Answer Table

Options

Choose Properties | Answer Table | Options (or click the Answer Table Properties SpeedBar button) to change the way an Answer table will appear. The Answer Table Properties dialog box opens.

Use the Answer Table Properties dialog box to modify the view of an Answer table before you run the query. You can change the Answer table name, table type, column order and size, and row size.

Sort

Choose Properties | Answer Table | Sort to specify the sort order for the Answer table before you run the query. The Sort Answer dialog box opens.

See Also

Answer Table Properties dialog box

Sort Answer dialog box


Answer Table Properties Button

Click the Answer Table Properties button to change the way an Answer table  will appear. The Answer Table Properties dialog box opens.

Use the Answer Table Properties dialog box to modify the view of an Answer table before you run the query. You can change the Answer table name, table type, column order and size, and row size.

Clicking this button is the same as choosing Properties | Answer Table | Options.


Answer Table Properties Dialog Box

Use the Answer Table Properties dialog box in a Query window to modify the view of an Answer table before you run the query.  To open the Answer Table Properties dialog box, choose Properties | Answer Table | Options or click the Answer Table Properties SpeedBar button.

This dialog box has three main panels, one of which contains a table. To move among fields in the table using the keyboard, press Tab or Shift Tab. To leave the table panel, press Super Tab (F4) or Super Back Tab (F3).

Dialog Box Options

Answer Name

Type the new table name in the box. When you run the query, the result appears in a table with the new name, rather than ANSWER.DB. This named table can be saved without renaming; ANSWER.DB is a temporary table and can only be saved by renaming it.

Or type another path name in the Answer Name box. When you save ANSWER.DB to a different directory, Paradox does not delete it when you exit the program. Caution: If the path you type already contains an Answer table, Paradox will overwrite this with no warning when you run the query.

Answer Table Type

Choose whether to save the answer table as a Paradox or dBASE table.

Image of Answer Table

Drag with the mouse to adjust row height, column width, and column order the same way you do in a Table window.

Treat the image of the Answer table just as if it were a table in its own Table window. You can move columns and inspect properties in this image just as you would in the table itself. The only difference is that you can do it before you run the query.

See Also

Creating a new query object

Modifying the answer


Sort Answer Dialog Box

Use the Sort Answer dialog box to sort the Answer table before you run the query. To open the Sort Answer dialog box, choose Properties | Answer Table | Sort in a query window.

Dialog Box Options

Available Fields

Lists the fields that will appear in the Answer table.

Sort By

Lists the fields you select to sort by.

Add Field arrow

Moves selected fields from the Available Fields list to the Sort By list. Add the fields in the order you want the Answer table sorted by. Or use the Change Order arrows to change the order.

Remove Field arrow

Removes a selected field from the Sort By list.

Change Order arrows

Change the order of the fields in the Sort By list. Select a field, then click the appropriate arrow to move it up or down in the list.

When you choose OK, you tell Paradox to sort the Answer table according to the Sort By list.

See Also

Creating a new query object

Modifying the answer


Properties | Query Options

The Query Options menu lets you save the current restart options as the default. Your choice of tiled or cascaded tables is also saved.

It also lets you restore the previously saved options.

See Also

Query Options | Save As Default

Query Options | Restore Default


Properties | Query Options | Save As Default

Choose Properties | Query Options | Save As Default to save the current Query Restart Options as the default. Your choice of tiled or cascaded tables is also saved.

To restore the last saved options as the default, choose Properties | Query Options | Restore Default.

See Also

Query Options | Restore Default


Properties | Query Options | Restore Default

Choose Properties | Query Options | Restore Default to restore the last saved Query Restart Options. Your last saved choice of tiled or cascaded tables is also restored.

Choose Restore Default when you've changed current saved options and want to go back to them.

See Also

Query Options | Save As Default


Properties | Restart Options

In a multiuser environment, someone might be changing data in tables you're using in a query while you're running the query.

To tell Paradox ahead of time what to do if it finds the data has changed, choose Properties | Restart Options. The Query Restart Options dialog box opens.

See Also

Query Restart Options dialog box

Networking Paradox


Query Restart Options Dialog Box

In the Query Restart Options dialog box, you tell Paradox what to do if data changes while you're running a query in a multiuser environment. To open the Query Restart Options dialog box, choose Properties | Restart Options.

Dialog Box Options

Restart query on changes

Start the query over. Choose Restart when you want to make sure you get a snapshot of the data as it existed at some instant. Another user might change the data after the query is completed but before the Answer table is displayed, but at least you got a snapshot. This is just the nature of multi-user work.

Lock all tables to prevent changes

Lock all other users out of the tables needed while the query is running. If Paradox cannot lock a table, it does not run the query. This is the least polite to other users. And you must wait until all the locks can be secured before the query will run.

Ignore source changes

Run the query even if someone changes the data while it's running.


Properties | Tile Tables

Choose Properties | Tile Tables to arrange multiple table query images in the Query window without overlapping.

Tiling shows you the same amount of each query image at once. This is the default arrangement.


Properties | Cascade Tables

Choose Properties | Cascade Tables to overlap multiple table query images in the Query window.

Cascading maximizes the amount of information visible in the active query image while still showing the table names of other query images.


Queries

A query is a question you ask Paradox about information in your tables. It can be a simple question about the information in a single table or a complex question about information in several tables. For example, you can ask questions like

Which customers have placed orders?

What is the total amount of all orders placed by each customer?

What orders have not been paid?

Queries let you locate information, perform calculations, and summarize values in your tables.

Paradox's query method is called QBE, or Query By Example. To perform a QBE query, you give Paradox an example of the result you want. Paradox determines the best way to arrive at the result.

Queries are flexible, interactive, and iterative. If a query does not quite obtain the results you want, you can easily refine it and perform the query again. By constructing queries that build on each other, you can play "what if?" with your data.

See Also

Creating a new query object

Query window tasks

Tasks common to all windows

Query window commands


Query window tasks

Query window

QBE language

Example elements

Querying more than one table

Query operators

Query results


Query Window

The Query window opens when you create a new query or modify or run an existing query object.

To create a new query

Start at the Desktop and choose File | New | Query. Or right-click the Open Query SpeedBar button and choose New.

To modify an existing query object

In the Folder window

1.	Inspect the query object to access its menu.

2.	Choose Open.

From the Desktop

1.	Choose File | Open | Query or click the Query SpeedBar button.

2.	In the Select File dialog box, choose the query you want to modify.

To run an existing query

In the Folder window

1.	Inspect the query object to access its menu.

2.	Choose Run.

From the Desktop

1.	Choose File | Open | Query or click the Query SpeedBar button.

2.	In the Select File dialog box, choose the Query you want to run.

3.	Set any Answer table properties you want, then click the Run Query SpeedBar button or choose Query | Run (F8).

Query window controls

A Query window can display more than one table image for querying. All query images appear in the same window, tiled one on top of the other.

In multi-table queries, you can move among query images using Super Tab (F4) or Super Back Tab (F3). To move among fields within a query image using the keyboard, press Tab or Shift Tab.

You can control how the query images are displayed. You can rotate columns and horizontally scroll the query images.

See Also

Query window SpeedBar

Query table scroll bars

QBE check boxes

Query image fields

Rotating columns in queries

The Run Query button

The Query menu


Query Table Scroll Bars

Each table represented in the query has its own horizontal scroll bar. This lets you scroll to any columns that aren't visible.

The master vertical scroll bar on the right side of the Query window lets you scroll the whole query. This lets you view any table query images that aren't visible.


QBE Check Boxes

Check boxes appear on the left side of each line of a query image column, except the leftmost column, where they appear on the right. Click the check box to include that field in the Answer table for the query. When you hold down the left mouse button, you see the different types of checks you can use. Each has its own meaning.

Use Checkmark to show all unique values for the checked field. The values are displayed in A to Z (ascending) order. When used with a summary operator, a checkmark specifies that the records be divided into groups based on the values in the checked field.

Use Check plus to show all values in a field, including duplicates, without sorting.

Use Check descending to show unique values sorted in Z to A (descending) order.

Use GroupBy check to specify a group of records to use in a Set query. Use the GroupBy check when you want to group by a field but not display its values in the Answer table.

Use this to remove a check.

See Also

SET queries


Placing Checks

To place a checkmark, either

Click the field's check box.

Select the field and press F6.

To place a check plus, check descending, or GroupBy check, either

Click and hold the field's check box to display the check menu, then choose the type of check you want from the menu.

Select the field and press Shift+F6 repeatedly until the type of check you want is displayed.


Query Image Fields

In the query image fields, you define query selection conditions using Paradox's QBE language. You type selection conditions directly into the query image fields.

You can use the Paradox Edit menu to perform Cut, Copy, and Paste operations on any selection condition or portion of a selection condition in a field of a query image. Use standard Windows procedures to select material to be cut or copied. Then use the Edit menu to perform the cut, copy, and paste operations.


Rotating Columns in Queries

To rotate the columns of a query image, either

Use the mouse to drag a column heading to move a column to a new location.

Select the column you want to move and press the Rotate key (Ctrl+R). The selected column moves to the right to become the last column in the table.

To change the order of columns in a query Answer table, first prepare the query image to run, then choose Properties | Answer Table | Options to open the Answer Table Properties dialog box. There you can rotate the columns of the Answer table image using either of the methods above.

See Also

Sort Answer dialog box

Sorting the Answer table


The Query Menu

The Query menu has actions associated specifically with the Query window. These actions include

Add Table

Remove Table

Field View

Run

Wait for DDE


QBE Language

To construct a Query By Example, you do not have to learn anything remotely resembling a programming language. You just figure out what the result should look like and give Paradox an example.

Here's a basic list of the things you tell Paradox when you construct a query:

Which tables contain the information you want to ask about.

Which fields you want to see in the answer to the query.

Which records you want included in the answer.

Which calculations (if any) you want to perform.

In addition to using queries to list selected information from tables, you can also use queries to perform the following tasks:

Insert new records into a table.

Delete records from a table.

Change the values of fields in a table.

Create new fields.

See Also

Creating a new query object

Adding tables to a Query window

Removing tables from a Query window

The Join Tables button

Running a query

Saving a query

Opening a query object

Modifying the answer

Example elements

Querying more than one table

Query operators


Creating a New Query Object

To create a new query, choose File | New | Query or right-click the Open Query SpeedBar button and choose New. Paradox opens an empty and unnamed Query window in which you can construct your query.

For example, to create a simple query that results in a list of customer names and phone numbers, follow these steps. (This example uses the Customer table located in your SAMPLE directory.)

1.	Make sure your working directory is PDOXWIN \ SAMPLE.

2.	Choose File | New | Query (or right-click the Open Query SpeedBar button and choose New). You'll see the Select File dialog box.

3.	From the Select File dialog box, select CUSTOMER.DB and choose OK (or double-click CUSTOMER.DB). Paradox places an image of the Customer table in the Query window.

4.	Click the check box in the Name field. Paradox places a checkmark in the check box.

5.	Use the scroll bar at the bottom of the table's query image to move to the right of the image until you see the Phone field.

6.	Click the check box in the Phone field. Paradox places a checkmark in the check box.

7.	Choose Query | Run (or click the Run Query SpeedBar button or press F8). Paradox displays a status window to track the progress of the query.

When Paradox finishes calculating the result of the query, it displays the Answer table on the Desktop on top of the Query window.

See Also

Query window

QBE language

Working directory

Select File dialog box


Adding Tables to a Query Window

To tell Paradox which tables you want to ask questions about, you add the tables to the Query window. You add the first table(s) when you open the query. After that, choose Query | Add Table or click the Add Table SpeedBar button. When the Select File dialog box opens, choose the table you want to use in the query.

To add more than one table to the Query window, click the names of all tables you want from the file list of the Select File dialog box. You'll need to link the tables to make a valid query. Paradox highlights each table name as you click it. Choose OK to add all the selected tables. Paradox places images of each table in the Query window.

Tip:	If you've already set up table relationships for the purpose of a multi-table design document, you can use that object as the basis of your query. See Using a multi-table design to link tables for more information.

The query image is structured just like the table it represents. It has the same fields in the same order. Only the table's data is missing. If you've made any changes to table properties, the query image does not acknowledge them.

See Also

Selecting from lists

Select File dialog box

Linking tables with example elements

Using a multi-table design to link tables


Removing Tables from a Query Window

Choose Query | Remove Table (or click the Remove Table SpeedBar button) to remove one or more tables from the Query window. The Remove Table dialog box opens.

The Remove Table dialog box displays all the tables currently in the Query window. Choose the table(s) you want to remove and choose OK.

See Also

Selecting from lists


Join Tables Button
The Join Tables Button

To join two tables using the SpeedBar,

1.	Click the Join Tables SpeedBar button. In the fields of a query image, the pointer changes to a join symbol.

2.	Click the corresponding field of each table. Paradox places example elements that join the tables.

After you click the two tables to be joined, Paradox returns the mouse pointer to normal behavior. To get out of Join Table mode, click the Join Table button again. To get out of example element mode, press F5 again.


Running a Query

Choose Query | Run or press F8 to run the query. Paradox displays a status window to tell you the status of the query.

You can also click the Run Query button on the SpeedBar,

If there are no problems with the query, you see the message "Query status" after Paradox checks the query. Then Paradox creates the Answer table and displays it in its own window.

The Answer table is a temporary table. It is overwritten every time you run another query and deleted when you leave Paradox. To save the answer to a query, use Table | Rename. To save the query, use File | Save.

See Also

Table | Rename


The Run Query Button

Click the Run Query button to execute the query. This is the same as choosing Query | Run or pressing F8. Paradox displays a status window to tell you the status of the query.

If there are no problems with the query, you see the message "Query status" after Paradox checks the query. Then Paradox creates the Answer table and displays it in its own window.

The Answer table is a temporary table. It is overwritten every time you run another query and deleted when you leave Paradox. To save the answer to a query, use Table | Rename. To save the query, use File | Save.

See Also

Table | Rename


Saving a Query

To save the query for later use, choose File | Save or File | Save As. If you close the Query window without saving, Paradox prompts you to save the query.

When you save a query, it becomes an object like any other Paradox object. You can open it, minimize it on the Desktop, and display it in the Folder window. You can even build forms and reports directly from queries, rather than from the Answer tables they generate.

See Also

Designing a document from a query


Opening a Query Object

Open a query object when you want to modify the query. If you want to use the query as is, you can submit it without opening it.

You can open a query object in two ways:

Choose File | Open | Query.

From the empty Desktop, click the Open Query SpeedBar button .

Choose one of the query objects listed in the Open Query dialog box. Paradox opens a Query window displaying your query.


Modifying the Answer

Unless you change it, the structure of the Answer table closely reflects the structure of the query example: the leftmost field checked in the first image becomes the leftmost field of the Answer table, and so on.

Paradox gives you the ability to change the display of the Answer table before you run the query. Choose Properties | Answer Table | Options (or click the Answer Table Properties SpeedBar button) to change the way Paradox displays the Answer table. The Answer Table Properties dialog box opens.

See Also

Answer Table Properties dialog box

Renaming the Answer table

Sorting the Answer table


Renaming the Answer Table

By default, Paradox names the result of the query ANSWER.DB and places it in your private directory.

The Answer table is a temporary table; every time you run a query, Paradox overwrites the Answer table with the new query answer. To save an answer to a query, you must rename the Answer table before you run another query.

You can use the Answer Table Properties dialog box to give the Answer table a different name. You also can

Save Answer to a directory other than your private directory

Create the Answer table as a Paradox or dBASE table

Change the Answer table's image by moving and resizing columns and resizing rows

When you finish setting the properties for the table you want, choose OK to return to the Query window. You can also rename the Answer table after the query is run using Table | Rename or File | Utilities | Rename.

See Also

Answer Table Properties dialog box

Table | Rename


Sorting the Answer Table

You can sort the Answer table before you run the query.

Choose Properties | Answer Table | Sort to specify the sort order for the Answer table before you run the query. The Sort Answer dialog box opens.

Use the Add Field arrow to move the fields from the Available Fields list to the Sort By list. Add the fields in the order you want the Answer table sorted.

To remove a field from the Sort By list, select it and choose the Remove Field arrow. To change the order of the fields in the Sort By list, select a field and use the Change Order arrows to move it up or down in the list.

When you choose OK, you tell Paradox to sort the Answer table according to the Sort By list.

See Also

Sort Answer dialog box


Example Elements

An example element represents values in the field it is placed in. Example elements are used in two ways in Paradox:

In expressions that specify selection conditions in single-table queries. The example element represents each value in turn from that field in the selection condition.

To join two tables by a common field in multi-table queries. The example element tells Paradox the two fields contain common data even though their field names might differ. It acts as a place marker and means "If a record selected from Table A has a value in this field, link it with all the records from Table B that have the same value in the corresponding field."

Creating example elements

You can create your own example elements by pressing F5 and typing them. Or you can let Paradox do it for you by clicking the Join Tables SpeedBar button.

When you create your own example elements, you can use nonsense syllables or mnemonically meaningful example elements to link two fields. Example elements can contain any alphabetic characters (A-Z, a-z), digits (0-9), or both. They must not contain spaces.

You cannot use an example element in memo, formatted memo, graphic, OLE, or binary fields.

See Also

Entering an example element

Using an example element in selection conditions

Using an example element in a range

Using an example element in a date expression

Querying more than one table


Entering an Example Element

To create an example element,

1.	In the Query window, click the field where you want to add an example element.

2.	Press F5 or the underline key.

3.	Type the example element in the field.

Paradox displays example elements in a different color (usually red), except on monochrome monitors.

You can use any characters that make sense to you. Example elements can contain any letters and numbers.

The following characters can not be part of an example element:

*    (    )    -    +    /    .

You cannot put a space in an example element. When you press Spacebar or type a comma, dash, or underline, Paradox assumes you have completed the example element. Subsequent characters you type appear in normal text.

See Also

Example elements

Using an example element in selection conditions

Using an example element in a range

Using an example element in a date expression

Using LIKE or NOT with an example element

Querying more than one table


Using an Example Element in Selection Conditions

You can use an example element in a selection condition when the value you want to use is stored in a table. The example element stands for whatever value Paradox retrieves.

For example, suppose you want to know what dive shops are located in the same city as VIP Divers Club. Rather than ask what city that is, then ask what cities match it (a two-query process), you can find the value and all matching values in one step, as shown below.

The first line of the query retrieves VIP Divers Club's record from the Customer table. The value in the City field for VIP Divers Club is represented by the example element. The same example element is used in the second line to retrieve all the records with a matching value in their City fields.

Note:	You cannot use the OR operator with example elements. The statement Qty OR Price, where Qty and Price are example elements, is not a logical question and returns an error message. This is because an example element represents all the values in the field. You cannot tell Paradox that either Qty or Price can represent all the values in the field.

See Also

Example elements

Using an example element in a range

Using an example element in a date expression

Using LIKE or NOT with an example element

Querying more than one table


Using an Example Element in a Range

You can use example elements in ranges. For example, suppose you want to list all the stock items whose cost is greater than the cost of item number 1320. You'd construct a query like the one below.

The first line of this query retrieves item number 1320's record from Stock. The cost of item 1320 is represented by the example element cost. The same example element is used in the second line to retrieve all records with a cost greater than that of item 1320.

See Also

Example elements

Using an example element in selection conditions

Using an example element in a date expression

Using LIKE or NOT with an example element

Querying more than one table


Using an Example Element in a Date Expression

You can use an example element in a date expression. For example, suppose you want to list all orders that were shipped less than 30 days after order number 1010. You'd construct a query like the one below.

This query uses

An example element to represent the shipping date of order number 1010.

An arithmetic expression to calculate the date 30 days after.

The < (less than) operator to select the records with shipping dates earlier than the date 30 days after 1010's shipping date.

See Also

Example elements

Using an example element in selection conditions

Using an example element in a range

Using LIKE or NOT with an example element

Querying more than one table


Using LIKE or NOT with an Example Element

You can use example elements with the LIKE and NOT operators.

Suppose you want to find contacts who have been entered more than once in the Contacts table with slightly different last name spellings. You could use LIKE to look for alternative-spelling duplicates of each name, one at a time, or you could use LIKE and NOT with example elements to find all alternative-spelling duplicates at once.

The statement "like name, not name" specifies last names that are like one another and at the same time not exactly one another---just names that have in common at least half to two-thirds of the same letters. (The space after the comma is not necessary but makes the expression easier to read.)

See Also

Example elements

Using an example element in selection conditions

Using an example element in a range

Using an example element in a date expression

Querying more than one table


Querying More Than One Table

Two or more tables often contain different information about the same entities. To combine this information, you can query more than one table at the same time.

Multi-table queries are similar to single-table queries, except that

You fill out a separate query image for each table.

You use example elements to identify common fields among the tables.

See Also

Linking tables with example elements

Example elements

Using a multi-table design to link tables

AND conditions

OR conditions with linked tables

Linking to all records in a table

Selection conditions with inclusive links


Linking Tables With Example Elements

The tables being queried must be linked by a common field to link information in one table to information in the other. These linking fields

Do not need to have the same field name.

Must be of compatible types. You cannot, for example, link a number field in one table to an alphanumeric field in another.

Cannot be memo, formatted memo, graphic, OLE, or binary fields.

To enter an example element, either

Click the Join Tables tool on the SpeedBar. Then click in the appropriate field of each query image. Paradox places example elements that join the tables.

Select the field, then press F5 and type the example characters in the field.

When you use an example element to link tables, you need to check the field in only one of the tables to display the field.

See Also

Example elements

Entering an example element

Querying more than one table


Linking More Than Two Tables

Sometimes, three or more tables have the same field in common. In that case, you use the same example element to link all the tables.

The more usual (and more interesting) case occurs when three or more tables have different fields in common: For example, Table 1 and Table 2 have one field in common, Table 2 and Table 3 have a different field in common, and Table 1 and Table 3 have no fields in common.

Use a unique example element for each link. In the case above, you could use the example element abc to link Tables 1 and 2 and use xyz to link Tables 2 and 3.

Note:	You can query as many as 24 tables with a single query.

See Also

Querying more than one table


Sample Multi-Table Queries

Suppose you want to see which dive shops have placed orders. The Orders table, however, only shows the Customer ID number and not the dive shop's name. The Customer table contains the dive shop names. Therefore, you want to link Customer and Orders on their common Customer No fields to retrieve

Orders information from Orders

The names of the dive shops that have placed orders from Customer

The following figure shows the use of two example elements to link three tables. This query also uses the AND ( , ), OR, NOT, and AS operators.

Suppose you want to know which dive shops outside of California have placed orders for items from $500.00 to $1,500.00 in selling price and have had these items shipped via Federal Express or Emery.

See Also

Querying more than one table


Using a Multi-Table Design to Link Tables

Paradox gives you a way to automatically link tables in a query using a linked multi-table design document you've already created.

If you've already set up table relationships for the purpose of a multi-table design document, you can use that object as the basis of your query. Or you can open another multi-table query and modify it.

The Query window must be new or empty to start with other multi-table documents.

To use a form, report, or multi-table query to set up your query,

1.	Choose File | New | Query.

2.	In the Select File dialog box, change the Type to <Forms> or <Reports> or <Queries>.

3.	Select the document to use, then choose OK.

Paradox adds the tables used in the document to the Query window, and places example elements to join the tables according to the document's data model.

See Also

Multi-table documents

Folders


AND Conditions

When you enter selection conditions in separate fields on the same line of a query image, all conditions on that line must be met by a record in the table for the query to retrieve that record. This type of operation is called a logical AND, and means that all conditions must be met.

You can also express a logical AND in a single field---that is, enter more than one condition in a field and require that they all be met---by separating the selection conditions with commas.

See Also

AND conditions in the same field

AND conditions in different fields

AND conditions with linked tables

Combining AND and OR conditions


AND Conditions in the Same Field

Use a comma ( , ) to separate AND conditions in a single field. Type the entire AND expression on the same line of the field in the query image. The comma acts as an AND operator, telling Paradox that both (or all) conditions must be met for a match to occur. Because a value in a single field cannot be two or more values at the same time, the AND conditions you'll be specifying in a single field will be any kind except exact match conditions---for example, two or more types of patterns, or two range conditions.

Example

Suppose a list price ending in 5 indicates the item is on sale. You want to see all items that are on sale and cost $50 or less.

If you have the U.S. number format set, spaces are not necessary between the conditions and the AND ( , ) operator. If you have the international number format set, a space is necessary on one side of the comma.

See Also

AND conditions

AND conditions in different fields

AND conditions with linked tables

Combining AND and OR conditions


AND Conditions in Different Fields

To specify AND conditions in different fields---that is, conditions that must all be met for a match to occur---type the conditions on the same line of the query image, each condition in its respective field.

Suppose you want to see Stock from a certain vendor in the sample Stock table with the equipment classification Tools. The condition in the Vendor field is Vendor number 3511, and the condition in the Equipment Class field is Tools.

See Also

AND conditions

AND conditions in the same field

AND conditions with linked tables

Combining AND and OR conditions


AND Conditions with Linked Tables

To specify AND conditions with linked tables, type all selection conditions that you want to be met on the same line of each linked query image. As usual, specify AND conditions within a single field by separating all conditions that you want to be met with a comma ( , ), the AND operator.

See Also

AND conditions

AND conditions in the same field

AND conditions in different fields


OR Conditions

In addition to logical AND operations, Paradox lets you express logical OR operations, that is, operations that match a value if it meets either of two (or any of several) conditions. To express an OR condition in a single field, use the OR operator; to express an OR condition between different fields, use separate lines of the query image.

See Also

OR conditions in the same field

OR conditions in different fields

OR conditions with linked tables

Combining AND and OR conditions


OR Conditions in the Same Field

Separate conditions in a single field on the same line of a query image to specify that either of both (or any of several) conditions be met in that field.

Example

Suppose you want to see a list of all dive shops from the Customer table that are in either California or Hawaii.

See Also

OR conditions

OR conditions in different fields

OR conditions with linked tables

Combining AND and OR conditions


OR Conditions in Different Fields

You can specify OR criteria for different fields. You perform this kind of OR operation by putting selection conditions on different lines of the query image. You don't use the OR operator for this kind of query.

To display fields in the Answer table with this kind of query, you must check the check boxes in the same field on each line.

Example

Suppose you want to see a list of all dive shops from the Customer table that are in either the city of San Jose, California, or in the state of Hawaii.

See Also

OR conditions

OR conditions in the same field

OR conditions with linked tables

Combining AND and OR conditions


OR Conditions with Linked Tables

To specify OR conditions with linked tables, type all selection conditions for different fields of a single table, any of which a given record can meet, on separate lines of the table's query image. All query images of linked tables must have the same number of lines and be linked with different example elements for each line of the common field. As usual, specify OR conditions within a single field by separating all conditions, any of which you want to be met, with the OR operator.

Example

Suppose you want to find the names of the contacts you have for customers either in the city of Nassau or in the province of Jamaica. The same example elements are used on corresponding lines of the query images (EG01 on the top lines and EG02 on the bottom lines).

See Also

OR conditions

OR conditions in the same field

OR conditions in different fields


Combining AND and OR Conditions

You can combine AND and OR operations in a single query.

Example

Suppose you want to find the Customer No of all customers that are in the U.S.A. and have a total invoice over $100,000, or those that are in Venezuela and had their orders shipped via US Mail. The corresponding lines of both query images must have the same example elements (EG01 on both top lines and EG02 on both bottom lines). Both lines of each query image must have the same fields checked. The Customer No field is checked only in the Customer query image. It is not necessary to check it in both query images to display the field.

See Also

AND conditions

OR conditions


Selection Conditions with Inclusive Links

You can specify selection conditions for inclusive links just as you can in other queries. This lets you fine-tune either the set of master records or the lookup records to be matched with them.

If you set selection conditions for the master table, the resulting Answer table contains only those records that match the specified selection condition. But it still contains all of those matching records, whether or not they are matched in the lookup table.

See Also

Linking to all records in a table

Using inclusive links


Query Operators

Paradox query operators are grouped into seven types:

Reserved words and symbols

Arithmetic operators

Comparison operators

Wildcard operators

Special operators

Summary operators

Set comparison operators


Reserved Words and Symbols

Operator	Field types	Meaning

Checkmark	All	Display field in Answer

Check plus	All except BLOB	Display field and include duplicate values

Check desc	All except BLOB	Display field with values sorted in descending order

GroupBy check	All except BLOB	Specify a group for set operators

CALC	All (see notes)	Calculate a new field

INSERT	All except BLOB	Insert records with specified values

DELETE	All except BLOB	Remove records with specified values

CHANGETO	All except BLOB	Change specified values in fields

SET	All except BLOB	Define specific records as a set for comparisons

Note:	Checkmark and check desc work like check plus in BLOB fields.

You can type a CALC expression in a BLOB field. However, you cannot calculate with BLOB values.


Arithmetic Operators

Operator	Field types	Meaning

+	A, C, N, F, D, $, S	Addition or alphanumeric string concatenation

-	N, F, D, $, S	Subtraction

*	N, F, $, S	Multiplication

/	N, F, $, S	Division

( )	N, F, D, $, S	Group arithmetic operations

Note:	F in this table denotes dBASE float number fields.

Use parentheses ( ) to combine and group operations, and to indicate which calculations should be performed first. In expressions without parentheses, multiplication and division are performed before addition and subtraction. Operations with equal precedence are calculated from left to right.

Arithmetic operators are especially useful with the TODAY operator, the CALC operator, and example elements.

See Also

Today's date: The TODAY operator

Example elements

Calculating values: CALC


Comparison Operators

Operator	Field types	Meaning

=	All	Equal to (optional)

>	All except BLOB	Greater than

<	All except BLOB	Less than

>=	All except BLOB	Greater than or equal to

<=	All except BLOB	Less than or equal to


Wildcard Operators

Operator	Field types	Meaning

..	A, C, N, F, D, $, S, M, FM	Any series of characters

@	A, C, N, F, D, $, S, M, FM	Any single character

Note:	F in this table denotes dBASE float number fields; FM denotes formatted memo fields.

These operators work on the string representations of numeric and date fields.

In memo and formatted memo fields, you must use the .. operator. You can use the @ operator, too, but only if you use the .. operator as well.

See Also

Matching a pattern


Special Operators

Operator	Field types	Meaning

LIKE	A, C	Similar to

NOT	All	Does not match

BLANK	All	No value

TODAY	D	Today's date

OR	All	Specify OR conditions in a field

, (comma)	All	Specify AND conditions in a field

AS	All	Specify the name of a field in Answer

!	All except BLOB	Display all values in a field, regardless of matches


Summary Operators

Operator	Field types	Meaning

AVERAGE	N, F, $, S	Average of values in a field

COUNT	All except BLOB	Number of values in a field

MIN	All except BLOB	Lowest value in a field

MAX	All except BLOB	Highest value in a field

SUM	N, F, $, S	Total of all values in a field

ALL*	All except BLOB	Calculate summary based on all values in a group, including duplicates

UNIQUE*	All except BLOB	Calculate summary based on unique values in a group

Note:	F in this table denotes dBASE float number fields.

*By default, SUM and AVERAGE operate on all values in a field, while COUNT, MAX, and MIN operate only on unique values. You can override these default groupings by adding the word ALL or UNIQUE to a CALC statement.


Set Comparison Operators

Operator	Field types	Meaning

ONLY	All except BLOB	Display records that match only members of the defined set

NO	All except BLOB	Display records that match no members of the defined set

EVERY	All except BLOB	Display records that match every member of the defined set

EXACTLY	All except BLOB	Display records that match all members of the defined set and no others


Query Results

Paradox supports two principal types of queries:

Queries that produce an Answer table

Queries that change data

Depending on the type of statement being executed, different actions result.

See Also

Queries that produce an Answer table

Queries that change data

SET queries


Queries that Produce an Answer Table

A Paradox query that asks questions about your data or performs calculations gives you an Answer table. The Answer table is a temporary table Paradox replaces each time you perform a query. Paradox deletes the Answer table when you exit Paradox.

To save the answer to a query, use Table | Rename or File | Utilities | Rename to rename the Answer table.

See Also

Selecting fields to display

Including records with duplicate values

Specifying field names in the Answer table

Sorting values in descending order

Selecting records based on field values

Calculating values: CALC


Selecting Fields to Display

When you want to see the information in only a few fields of a table, you can build a query that selects specific fields from the table.

Including a field

To include a field in your query, place a checkmark in the field's check box. You can place a checkmark by either

Clicking the field's check box

Selecting the field and pressing F6

The checkmarks tell Paradox to create a new Answer table that contains every unique value from the checked fields of the table. When you choose Run Query to submit the query, Paradox creates the Answer table.

To place a check plus, check descending, or GroupBy check, either

Click and hold the field's check box to display the Check menu, then choose the type of check you want from the menu.

Select the field and press Shift+F6 repeatedly until the type of check you want is displayed.

Selecting all fields

To select all fields, check the box under the file name in the leftmost field.

Unchecking a field

To uncheck a field,

1.	Select the field.

2.	With the pointer over the check box, click and hold the left mouse button to display symbols on the check box menu. Drag to the empty check box symbol [image] and release the mouse button. The check disappears. You can also press F6 again or click the check box once.

See Also

Sorting the Answer table

Exact matches

QBE check boxes


Including Records with Duplicate Values

If you check one field for the Answer table, Paradox assumes you want to see only unique values.

If you want to see all values, including duplicates, select check plus [image]  instead of the checkmark [image]  from the check box menu.

When you use check plus, the values are not sorted.


Specifying Field Names in the Answer Table

Fields in the Answer table get their names from checked fields in the Query window. If you want a field in the Answer table to have a different name, use the AS operator.

To specify a different name,

1.	Type AS in the field of the query image, followed by a space.

2.	Type the name you want the field to be called in Answer.

In the Answer table, Paradox displays the values under the field name you specified.

See Also

The AS operator


Sorting Values in Descending Order

By default, Paradox sorts records in the Answer table in ascending order, based on the values in the leftmost field or fields you check, if there are ties. Ascending order varies, depending on the field type.

Here's how sort order applies to the different Paradox field types:

Field type	Examples of sorted values

from low	to high

Number	0	10

Alphanumeric	A, a 	Z, z

Date	1/1/91	12/31/91

Currency	$1.99	$99.99

Memo	Not sorted

Graphic	Not applicable

Time	00:00:01	23:59:59

Logical	False	True

F	T

No	Yes

0	1

Numbers and other nonalphabetic characters are sorted according to the sort order you installed. Alphanumeric "10" sorts before "2" even though it is numerically larger.

To specify that values be sorted in descending order, select check descending [image]  from the check box menu for the field you want sorted in descending order.

Note:	In BLOB fields and in dBASE memo fields, Paradox treats  [image]  and  [image]  as if they were  [image]. You cannot use  [image]  in BLOB fields or dBASE memo fields.


Selecting Records Based on Field Values

Paradox can include records selectively in the Answer table, based on field values you specify in your query.

You can type a selection condition in a field without checking that field. You do not have to include a field in the Answer table to use its values to select records. For example, you can query a table containing names and addresses for a list of people living in a particular state without including the state field in the Answer table.

The kinds of selection conditions you can use in Paradox queries are

Exact matches

Matching a range of values

Matching a pattern

Inexact matches: the LIKE operator

Non-matches: the NOT operator

Blank values: the BLANK operator

Arithmetic expressions


Specifying Numbers in Queries

When you type a number into a numeric field (Paradox number, short number, or currency field and dBASE number or floating number field) of a query image,

Do not type dollar signs.

Do not type parentheses to signify a negative value.

Do not type whole-number separators (a comma in U.S. convention and a period in international convention) when specifying a pattern match with the .. or @ wildcard operators.

On the other hand,

Do type decimal separators (a period in U.S. convention and a comma in international convention).

Do type the minus symbol to signify a negative value.

Optionally, do type whole-number separators when specifying an exact match numeric selection condition.

Paradox determines when a comma or a period is a whole-number or a decimal separator, first based on whether you have U.S. or international number convention set, and second, based on the symbol's position and context. Ambiguity arises when a comma could be Paradox's AND operator, which is a comma, and when a period could be part of Paradox's .. wildcard operator, which is two periods in a row.

If a comma's or period's meaning is not clear, then you must help Paradox understand the symbol's meaning with double quotation marks or spaces. A comma's or period's meaning will not be clear as a whole-number separator if you're specifying a pattern match with the .. or @ wildcard operators; thus, do not type whole-number separators when specifying a numeric pattern with .. or @.

If you have the U.S. number format set,

Paradox interprets a single period in a numeric field as a decimal separator.

Paradox interprets the first two periods in a row as the .. wildcard operator. Thus, if Paradox encounters three periods in a row in a numeric field, it interprets the first two as the .. wildcard operator and the third as the decimal separator. To make Paradox interpret the first period in this situation as the decimal separator, you must enclose it in double quotation marks.

Paradox interprets a comma in a numeric field as a whole-number separator if you're specifying an exact match and if the comma's in the proper position within the exact match to be a whole-number separator. To make Paradox interpret a comma as the AND operator where this meaning might not be clear, type a space or any other non-numeric character that is not the @ wildcard operator or part of the .. wildcard operator (such as a comparison operator) after the AND comma.

If you have the international number format set,

Paradox interprets the first comma in a numeric field within a number as the decimal separator.

Paradox interprets a comma followed by a space or any other non-numeric character that is not the @ wildcard operator or part of the .. wildcard operator (such as a comparison operator) as the AND operator in a numeric field.

Paradox interprets a single period in a numeric field as a whole-number separator if you're specifying an exact match and if the period's in the proper position within a numeric selection condition to be one.

See Also

AND conditions

Matching a pattern


Exact Matches

The most straightforward kind of selection condition is an exact match. You type a field value to be matched in that field of the query image.

Paradox includes in the Answer table only records with that value in that field.

Exact matches are case-sensitive. You can specify exact matches for as many different fields as you like.

You cannot specify exact matches for BLOB fields or dBASE memo fields.

Remember to check the field if you want it displayed.

Example


Matching a Range of Values

To match a range of values, use comparison operators, also known as range operators. For example, you might want to see any quantity greater than 10, any price less than $500.00, any date before June 13, 1992, or any name that comes before Simpson in alphabetical order.

Operator	Meaning	Examples	Match

=	Equal to*	= 1

= 3/17/81	Only March 17,1981

= Ralph	Only Ralph

= False	Only False

>	Greater than	> 1

> 3/17/81	Dates later than March 17, 1981

> "Ralph"	"Rat", "Rudolph", etc.

> "False"	True, T, Yes, 1

<	Less than	< 1

< 3/17/81	Dates before March 17, 1981

< "Ralph"	"Charles", etc.

< "True"	False (by convention, False < True)

>=	Greater than 	>= 1

or equal to	>= 3/17/81	March 17,1981 and later dates

>= "Ralph"	"Ralph", "Raphael", "Randolph", etc.

<=	Less than 	<= 1

or equal to	<= 3/17/81	March 17, 1981 and earlier dates

<= "Ralph"	"Ralph", "Manny", "Charles", etc.

*The = operator is optional in all of these cases, because it's understood when no other comparison operator is used.

You can use comparison operators with alphanumeric, all number, date, and logical values. You cannot use them with BLOB or dBASE memo values.

To use a comparison operator, type it before the value you are interested in. The example of all stock that costs more than $1000 is shown in the figure below.

You can specify ranges for any number of fields in a query image.

Combining operators

You can combine comparison operators to construct a limited range of values. Separate all the comparison conditions with a comma.

See Also

Combining two conditions in one field

Specifying numbers in queries


Matching a Pattern

Paradox provides two wildcard operators to match patterns of characters in queries. You cannot use these operators in binary, graphic, OLE, or logical fields.

The .. operator

The .. pattern operator matches any series of characters, alphabetical or numeric.

Pattern	Matches

G..	Giant, gigantic, Georgia

g..t	Giant, gross weight

..D	Grand, Elm Road

..e..s	Phillip Edward Wilson, roses

7..5	7485, 70,005

6/../91	6/01/91, 6/25/91

Note:	To retrieve values from a memo or formatted memo field, you must use the .. wildcard operator to specify a pattern selection condition. (Typing an exact match in these field types means typing the entire memo value; to prevent this unnecessary effort, Paradox does not allow it.) You can also use the @ wildcard operator to specify a pattern match in these field types, but you must use it in combination with the .. wildcard operator.

The @ operator

The @ pattern operator matches any single character, alphabetical or numeric. You can use any number of @ characters to specify a pattern.

Pattern	Matches

m@@e	Mike, more, made

wom@n	Woman, women

s@@@@	Smith, Smyth, scent

19@2	1922, 1972, 1992

Examples

1.	The following figure shows the use of the .. operator to find the name of a customer shop with Dive in its name.

2.	Suppose you want to see all stock with the word "nylon" in its catalog description, a memo field.

To see the rest of a memo field, choose Edit Data, then double-click the field.

3.	The next figure shows the use of the @ operator to find all stock with Model name beginning with PUL plus 3 and only 3 characters.

If you used the .. operator in this case (Pul..) the Answer table could give you anything from Pulse to Pullman.

See Also

Using wildcards with numbers

Using wildcards with dates

Specifying numbers in queries


Using Wildcards with Numbers

If a comma's or period's meaning is not clear, then you must help Paradox understand the symbol's meaning with double quotation marks or spaces. A comma's or period's meaning will not be clear as a whole-number separator if you're specifying a pattern match with the .. or @ wildcard operators; thus, do not type whole-number separators when specifying a numeric pattern with .. or @.

If you have the U.S. number format set,

Paradox interprets a single period in a numeric field as a decimal separator.

Paradox interprets the first two periods in a row as the .. wildcard operator. Thus, if Paradox encounters three periods in a row in a numeric field, it interprets the first two as the .. wildcard operator and the third as the decimal separator. To make Paradox interpret the first period in this situation as the decimal separator, you must enclose it in double quotation marks.

For example, here's a query to find all stock having a list price of $18 and any number of cents.

Paradox interprets a comma in a numeric field as a whole-number separator if you're specifying an exact match and if the comma's in the proper position within the exact match to be a whole-number separator. To make Paradox interpret a comma as the AND operator where this meaning might not be clear, type a space or any other non-numeric character that is not the @ wildcard operator or part of the .. wildcard operator (such as a comparison operator) after the AND comma.

If you have the international number format set,

Paradox interprets the first comma in a numeric field within a number as the decimal separator.

Paradox interprets a comma followed by a space or any other non-numeric character that isn't the @ wildcard operator or part of the .. wildcard operator (such as a comparison operator) as the AND operator in a numeric field.

Paradox interprets a single period in a numeric field as a thousand separator if you're specifying an exact match and if the period's in the proper position within a numeric selection condition to be one.

dBASE numbers

A dBASE number field has trailing zeros to the right of the decimal place, so add the .. operator to the end of a numeric pattern, even if you're trying to match the last digits. For example, ...95.. will match all numeric values ending in .95, but ...95 will not match.

See Also

Specifying numbers in queries


Using Wildcards with Dates

When entering date values for exact matches, you can use any date format that Paradox supports, including custom formats.

However, when you use a wildcard to find a date, the pattern you define with the wildcard operator must reflect the date format you have set in both the ODAPI Configuration Utility and the WIN.INI file. (The ODAPI Configuration Utility and WIN.INI date settings must match.)

Example

If the date format set in both ODAPI and WIN.INI is mm/dd/yy, you can find orders placed in May of 1988 like this:

If you have another date format set, use that in the wildcard query.

See Also

Predefined date formats

File | System Settings | ODAPI


Inexact Matches: The LIKE Operator

Use the LIKE operator to match inexact alphanumeric values. This is particularly useful for finding values that contain typographical errors or alternate spellings.

If the Answer table to a query does not include some records you expected to see, try using LIKE with one or more alphanumeric fields; the records you're looking for might contain typographical errors, misspellings, or alternate spellings.

To use the LIKE operator, type LIKE in front of the value you think will match the records you want.

Example

Two general rules for obtaining a match with the LIKE operator are

The first character of the pattern you specify with the LIKE operator must match exactly (though case does not matter). "LIKE California" does not match Kalifornia.

A pattern matches if at least half to two-thirds of the characters match.

Field types

You cannot use LIKE on BLOB fields or dBASE memo fields.

While you can use LIKE in numeric and date fields, you'll get better results using the wildcard operators .. and @ to specify a numeric or date pattern.

See Also

Using wildcards with numbers

Using wildcards with dates


Non-Matches: The NOT Operator

Use the NOT operator to select records that do not have a specified value in a particular field.

NOT can precede exact values, ranges, wildcard patterns, or other selection conditions. In fact, you can precede any valid Paradox selection condition with NOT.

To use the NOT operator, type NOT before the example of the value you do not want to see.

Example

See Also

Exact matches

Matching a range of values


Blank Values: The BLANK Operator

Use the BLANK operator to find records that have no value in a specified field.

In some cases, the absence of a value is in itself a useful piece of information. Or you might want to find records with a blank field so you can fill in information unavailable when the record was entered.

To use the BLANK operator, type BLANK in the appropriate field.

You can combine NOT with BLANK to find all records that have any value in the specified field.

Note:	Searching for blank field values is entirely different from leaving a field blank in a query image. Using the BLANK operator tells Paradox you want to see only those records that have no value in the specified field. When you leave the field of a query image blank, on the other hand, Paradox does not consider the field at all when selecting records.

When you use comparison operators or sort by a field with blank values, blank fields are considered to be less than any nonblank value.

See Also

Combining two conditions in one field

Comparison operators


Today's Date: The TODAY Operator

In date fields, the TODAY operator always stands for today's date. Make sure your computer's calendar is set properly.

TODAY is especially useful for aging payables and receivables in conjunction with Paradox's arithmetic expressions.

For example:

Expression	Meaning

< TODAY	Finds dates earlier than today's date

< TODAY - 90	Finds dates earlier than 90 days ago

TODAY + 30	Finds dates 30 days ahead of today's date

Example

Suppose it's May 5, 1992, and you want to know what orders were placed today.

You could save this query and run it at the end of each day to see what orders were placed each day.

See Also

Arithmetic expressions


Arithmetic Expressions

You can use arithmetic expressions in number, date, time, and currency fields of a query image.

Operator	Meaning

+	Addition or string concatenation

-	Subtraction

*	Multiplication

/	Division

( )	Used to group expressions

Use parentheses ( ) to combine and group operations and to indicate which calculations should be performed first. In expressions without parentheses, multiplication and division are performed before addition and subtraction. Operations with equal precedence are calculated from left to right.

Arithmetic operators are especially useful with the TODAY operator and with example elements.

You can use arithmetic expressions to

Add a number of days to a date

Subtract a number of days from a date

Subtract a date from a date resulting in a number of days

See Also

Querying more than one table

Example elements

Today's date: The TODAY operator

Paradox field types allowing arithmetic operators

dBASE field types allowing arithmetic operators

Specifying numbers in queries


Paradox Field Types Allowing Arithmetic Operators

This table shows which arithmetic operators can be used in each Paradox field type.

Operator		A	N	$	D	S	M	F	B	G	O
+		Yes	Yes	Yes	Yes	Yes
-			Yes	Yes	Yes	Yes
*			Yes	Yes		Yes
/			Yes	Yes		Yes
( )		Yes	Yes	Yes	Yes	Yes
See Also

Arithmetic operators

dBASE field types allowing arithmetic operators


dBASE Field Types Allowing Arithmetic Operators

This table shows which arithmetic operators can be used in each dBASE field type.

Operator		C	F	N	D	L	M
+		Yes	Yes	Yes	Yes
-			Yes	Yes	Yes
*			Yes	Yes
/			Yes	Yes
( )		Yes	Yes	Yes	Yes
See Also

Arithmetic operators

Arithmetic expressions

Paradox field types allowing arithmetic operators


Using Quotation Marks

To enter an alphanumeric value that contains a period or comma or a Paradox reserved word, enclose the value in double quotation marks. Paradox recognizes the quoted characters as a value and does not act on their special meaning.

If the value itself contains a double quotation mark, precede the quotation mark with a backslash (\):

Thomas E. \"Ned\" Lawrence

If the value contains a backslash, precede that backslash with another backslash (\\).

You do not need quotation marks to enclose blank spaces in a value. You do need them, however, for all other symbols and operators that have special meanings in Paradox, like commas, periods, and asterisks.

See Also

Reserved words and symbols

Arithmetic operators

Comparison operators

Wildcard operators

Special operators

Specifying numbers in queries


Combining Two Conditions in One Field

You can enter two or more selection conditions in the same field of a query image, separating the conditions with commas. The comma acts as an AND operator, telling Paradox that both (or all) of the selection conditions must be met for a match to occur.

Examples

1.	Suppose a list price ending in 5 indicates the item is on sale. You want to see all items that are on sale and cost $50 or less.

If you have the U.S. number format set, spaces are not necessary between the conditions and the AND ( ,) operator. If you have the international number format set, a space is necessary on one side of the comma.

2.	You can also combine AND and OR operations in a single query.

Suppose you have to reorder two popular compasses when your supply of each gets down to 15. You need to know if your stock of direct sighting compasses and navigation compasses is low, and you also want to see which vendors supply these items.

Notes:

To match a value that includes a comma (like Acme, Inc.) you must enclose the value in quotation marks, or Paradox interprets the comma as an AND operator. For example, you would type "Acme, Inc".

Sometimes you use the OR query when you're asking an "and" question. For example, if you want all records in CA and HI, you have to query for CA OR HI because no single record has both values.

See Also

OR conditions

AND conditions


The AS Operator

When you check a field in a query image, it is displayed in the Answer table with the same name it had in the original table. To change the field name in the Answer table, use the AS operator.

Type the selection condition, if any, in the field, then type AS followed by the new field name you want.

Example

Suppose you want to make the Qty field of the Stock table appear as Compasses on Hand in the Answer table.

See Also

Specifying field names in the Answer table

Creating a new Answer field with a constant value


Calculating Values: CALC

The CALC operator performs calculations on the information in your tables. Use CALC to

Construct and evaluate mathematical expressions

Combine values from two or more fields

Combine field values with constants

You can use CALC to perform calculations on records in a single table or from multiple tables. You can also use CALC with alphanumeric values and with summary operators.

When you use CALC in a query, the Answer table generated by that query contains an additional field for the calculated result. This means that

When you create tables, there is no need to include fields for any data that can be calculated from the values in other fields.

It does not matter what field of the query image you type the CALC expression in.

You can use values from several tables in a calculation. Use example elements in the CALC expression to refer both to values in the same table and to values in other tables.

Examples

1.	Suppose in the Stock table you want to multiply the values of the Quantity (Qty) field by the values in the List Price field to obtain total costs of the stock you have on hand.

The first occurrence of each example element defines the example. The example elements say, "This variable represents the values in this field."

The second occurrence of each example element uses the values the example elements represent. They say, "Do this with each value in this field."

2.	Suppose you want to derive a total dollar amount of all currently on-order items based on List Price (in STOCK.DB) rather than on Selling Price (in LINEITEM.DB). You need to multiply the list price of all items by the quantity of that item ordered. The quantity of items ordered is derived by linking the Stock and Lineitem tables, and the list prices for all items are in the Stock table.

See Also

Using CALC with arithmetic operators

Using CALC with alphanumeric values

Groups of records

Calculations on groups

Example elements

Creating a new Answer field with a constant value

Specifying numbers in queries


Using CALC with Arithmetic Operators

You can use CALC in any field of a query image. Following the CALC reserved word, type the expression for the calculation you want to perform.

Expressions can contain

Constants like 154 or 12/24/91

Example elements like QTY

Arithmetic operators like  +   -   *   /   ( )

Summary operators like SUM or MAX

Comparison operators like  =   <   >   <=   >=

See Also

Example elements

Arithmetic operators

Specifying numbers in queries

Summary operators

Comparison operators


Using CALC with Alphanumeric Values

You can combine (concatenate) alphanumeric values and constants by using CALC and the + operator. For example,

You can add "Ms. " in front of a list of last names when the value in the Sex field is F.

You can use CALC to combine values from the City, State, and ZIP fields into a single Address field.

Example

Suppose you want to combine the City, State, and Zip fields of the Customer table into one field in an Answer table that has been renamed Address.

To include the country name for dive shops outside the U.S., you can add the Country field to this concatenation.


Creating a New Answer Field with a Constant Value

You can create a new Answer table field that contains a constant value (numeric, date, or alphanumeric) rather than the result of a calculation. When creating a numeric or date constant, type the reserved word CALC, a space, and the constant numeric or date value in any field of the query image. When creating an alphanumeric constant, type CALC, a space, double quotation marks, the alphanumeric constant (with respect for case) and end with double quotation marks.

Paradox uses the constant value to name the new field in the Answer table. (To name the new field something else, use the AS operator.) If the new field is alphanumeric, it has as many character spaces as necessary to hold the constant value.

You can create a new blank field by typing CALC BLANK. In this case, you must type the CALC expression in a field of the type that you want the resulting new Answer field to be---alphanumeric, any number, or date type.

Example

Suppose you need to call all of your dive shop customer contacts to conduct a survey of customer satisfaction. You want a way to keep track of the contacts you have yet to call so that you do not call anyone twice by mistake.

You can create a new table from the Contacts table called Calls. You want to combine the Last Name and First Name fields of Contacts in the Calls table, and you want to create a new field in Calls with the alphanumeric constant Not called yet.

See Also

The AS operator


Queries that Change Data

Use INSERT, DELETE, and CHANGETO queries to change the data in the base table itself.

INSERT	Inserts new records with specified values.

DELETE	Removes selected records from a table.

CHANGETO	Lets you change specific field values in a table based on conditions you specify.

The table you change with these queries does not have to be open in a window.

INSERT, DELETE, and CHANGETO queries produce temporary tables, which appear in a separate window. The temporary table holds data that was inserted, deleted, or changed so you can restore the table to what it was before the query if you need to.

You must choose INSERT and DELETE from a menu in the leftmost field of a query image. You place CHANGETO in the field containing the value you want to change.

All field types except Paradox BLOB and dBASE memo fields support INSERT, DELETE, and CHANGETO queries.

You can combine several operations in a single query. If you do, Paradox performs all DELETEs first, then all CHANGETOs, then all INSERTs.

See Also

Inserting records: INSERT

Deleting records: DELETE

Changing values: CHANGETO

Operation order in a query involving multiple operations

Query operators


Inserting Records: INSERT

Use INSERT to copy records from one or more sources into a single target table. INSERT queries let you map which values from your source(s) to insert into fields of your target table.

With INSERT you can insert records from one table type to another, for example, from dBASE to Paradox tables. For example, you can put

Any numeric data into any numeric field type, Paradox or dBASE

Alphanumeric or character data into any alphanumeric or character field

Dates into date fields

You cannot put example elements in Paradox BLOB fields nor in dBASE memo fields, so you cannot insert these types of values into these types of fields.

To build a query using INSERT,

1.	Add the source table, if any, and target table to the Query window. (If the target table is new, you must create it before you can add it to the Query window.)

2.	Link all tables using example elements.

3.	For each source table, specify any selection conditions for field values.

4.	In the target table, place the word Insert in the leftmost column (under the table name) by doing any of the following in that column:

Type the letter i.

Click and hold the mouse button down and drag to choose Insert from the menu of query operations.

Press Spacebar, then choose Insert from the menu of query operations that appears.

Do not check any of the fields on the same line as the INSERT operator, or you'll get an error.

5.	Run the query.

Paradox inserts the records from the source into the target table for every field you specified. There is no change to any source table. The target table does not automatically appear in a window unless it was already open.

Note:	Fields you leave blank (with no example element) in the target table receive no values from the source(s).

Instead of producing an Answer table, an INSERT query produces a temporary table called Inserted, which includes only the records inserted.

Examples

1.	Suppose you find out you can get a cheaper phone rate for international calls if you switch to a different long distance service. Before you switch long distance companies, however, you want to see just how many customer dive shops are located outside the U.S.

This example demonstrates an INSERT query that places all international customers in a new Phoncall table. You can get the results of this particular INSERT query much faster by doing a check plus query, placing check pluses in the Name and Phone fields of CUSTOMER.DB, and saving the Answer table as Phoncall. A check plus query is not always a more efficient alternative to an INSERT query, however, so this example provides the framework for more complex ones.

2.	Suppose you want to insert a record of literals into the Contacts table using INSERT.

See Also

Example elements

File | Utilities | Add

INSERT query temporary tables


INSERT Query Temporary Tables

Paradox generates one or two temporary tables during an INSERT query.

The Inserted table

An INSERT query always produces a temporary table called Inserted. As with an Answer table, Paradox saves Inserted to your private directory, overwrites it each time you run an INSERT query, and deletes it when you exit the program. You can use Table | Rename or File | Utilities | Rename to save Inserted under a different name.

You can produce an Answer table in addition to the Inserted table if you check fields on a separate line of the target query image. If you also supply selection conditions on that line, the records in the Answer table will reflect those conditions, as you might expect. However, such an Answer table is not particularly valuable, since it does not contain any information that has to do with the INSERT operation.

You can use the Inserted table along with the DELETE reserved word to undo an insertion.

Note:	If you inserted duplicate records into an unkeyed table, the DELETE query removes the originals as well.

The Errins table

If you try to insert records into a target table that violate the referential integrity of the target table or that violate validity checks established for that table (except picture validity checks), Paradox does not perform the insertions, but instead places the offending new records into a temporary table called Errins. A violation of referential integrity would occur if you tried to insert into a child table a record with a key field value that does not exist in the parent table. (Paradox still creates the Inserted table, which contains all of the records you intended to insert. Those that actually were inserted, and thus did not violate the target table's referential integrity or validity checks, do not appear in Errins.)

Use Errins to evaluate the records that apparently violate the referential integrity or validity checks. Compare the records in Errins to existing records in the target table to determine the problem.

See Also

File | Utilities | Rename

Deleting Records: DELETE

Operation order in a query involving multiple operations


Deleting Records: DELETE

Use DELETE to remove selected records from a table. DELETE is appropriate when the records to be deleted have something in common that you can specify in one or more selection conditions.

DELETE removes only records, not specific field values within records. Use CHANGETO to change or remove specific field values.

To create a DELETE query,

1.	Add to the Query window the table from which you want to delete records and the table(s), if any, you want to join to the target table and use to define deletion criteria.

2.	Place the word Delete in the leftmost column (under the table name) of the table whose records you want to delete by doing any of the following in that column:

Type the letter d.

Click and hold the mouse button down and drag to choose Delete from the menu of query operations that appears.

Press Spacebar, then choose Delete from the menu of query operations that appears.

Do not check any of the fields on the same line of the query image as the DELETE operator, or you'll get an error.

3.	Enter any selection condition to select the records to be deleted. You can enter selection conditions in several fields of the same query image or in fields of tables linked by example elements.

Warning: If you do not enter any selection conditions, Paradox deletes all the records from the table.

4.	Run the query.

Paradox deletes from the table all records that meet the selection conditions. The changed table is not displayed at the completion of the query, unless it was already visible on the Desktop when you opened the Query window.

Instead of producing an Answer table, a DELETE query produces a temporary table called Deleted, which includes only the records deleted.

Examples

1.	Suppose Larry's Diving School has gone out of business and you want to remove this dive shop from the Contacts table.

2.	Suppose you change your mind and decide after you've deleted the contact for Larry's Diving School that you want to keep George Ahern as a contact for potential dive shop customers.

The easiest way to undo the deletion in this case would be to use File | Utilities | Add, adding the deleted record in Deleted back into Contacts. This example just shows you another way to undo. The method you use will depend on the complexity of the deletion you're trying to undo. With any method, you should make copies of the tables at each stage just in case you make a mistake in the recovery process and have to undo it.

See Also

Changing values: CHANGETO

DELETE query temporary tables


DELETE Query Temporary Tables

Paradox generates one or two temporary tables during a DELETE query.

The Deleted table

A DELETE query produces a temporary table called Deleted, which contains only the deleted records. Paradox saves Deleted to your private directory, overwrites it each time you run a DELETE query, and deletes it when you exit the program. You can use Table | Rename or File | Utilities | Rename to save Deleted under a different name.

You can produce an Answer table in addition to the Deleted table if you check fields on a separate line of the query image. If you also supply selection conditions on that line, the records in the Answer table will reflect those conditions, as you might expect. However, such an Answer table is not particularly valuable, since it does not contain any information that has to do with the DELETE operation.

You can use Deleted, along with Insert, to undo a deletion. Use Deleted as the source table and insert Deleted's records back into the table from which they were deleted. If you're reinserting records you deleted from an unkeyed table, the records are inserted at the end of the table and thus will not necessarily be in their original order.

You can also reinsert the deleted records in Deleted into the original table with File | Utilities | Add. Apart from these two methods, you have no other way of recovering records deleted from a Paradox table. (With a dBASE table, you can view the table, enter Edit mode, and choose Record | Show Deleted, then undelete each deleted record one at a time using Record | Undelete.)

The Errdel table

If you try to delete records whose absence would represent a violation of referential integrity, Paradox does not perform the deletions, but instead places copies of these records in a temporary table called Errdel. A violation of referential integrity would occur if you tried to delete from a parent table a record with dependent matching child records in a child table or tables. If you were to delete the parent record, the dependent matching child records would then be orphan records. (Paradox still creates the Deleted table, which contains all of the records you intended to delete. Those that actually were deleted, and thus did not violate referential integrity, do not appear in Errdel.)

Use Errdel to evaluate the records that apparently violate the referential integrity or validity checks. Compare the records in Errdel to existing records in the target table to determine the problem.

See Also

File | Utilities | Rename

Inserting Records: INSERT

Operation order in a query involving multiple operations


Changing Values: CHANGETO

Use CHANGETO to change specific field values in a table based on conditions you specify in a query. CHANGETO provides you with a kind of global search-and-replace capability. It is particularly useful when you want to change many values that have something in common in a similar way.

To change values in a field,

1.	Type the value you want to change in the field of the query image where the value occurs.

2.	After the value you want to change, type a comma.

3.	After the comma, type CHANGETO and a space. (As with all of Paradox's operators, you can type it in upper or lower case.)

4.	After CHANGETO and the space, type the new value you want to change the current value to. You can also type selection conditions in other fields to specify further which records to change.

The CHANGETO operator must be on the same line in the query image as any selection conditions. Do not check any of the fields on this line of the query image, or you'll get an error.

5.	Run the query.

Paradox changes all records that meet the selection conditions. The changed table is not displayed at the completion of the query, unless it was already visible on the Desktop when you opened the Query window.

Instead of producing an Answer table, a CHANGETO query produces a temporary table called Changed, which contains a copy of the records you changed as they existed before you changed them.

Examples

1.	Suppose you learn that George Ahern, the previous contact for the now out-of-business Larry's Diving School, has gotten a job at The Human Gill Dive Shop in Savannah, Georgia. You want to contact George so you can perhaps gain his new employer as one of your customers. You also need to change the company and phone number information about George in the Contacts table.

2.	Suppose you learn, after you changed George Ahern's record in the Contacts table, that George is quite the unique contact. His original company, Larry's Diving School, is not going to go out of business after all and wants him back. George's record needs to be changed back.

In this particular case, the easiest way to change it back is to do the exact same CHANGETO query, only reversing it, making the CHANGETO condition in the Company field Larry's Diving School and making the CHANGETO condition in the Phone field George's original phone number. However, if your CHANGETO query had involved many more changes, you could more easily reverse them by doing a DELETE and then an INSERT query. First, the DELETE query.

Return to the Query window and add CHANGED.DB to it. Then, joining the tables as below, run the INSERT query.

See Also

CHANGETO query temporary tables

Using CHANGETO with example elements

Performing a multi-table CHANGETO query


CHANGETO Query Temporary Tables

Paradox generates one or two temporary tables during a CHANGETO query.

The Changed table

CHANGETO produces a temporary table called Changed, which contains a copy of the records you changed as they existed before you changed them. Paradox saves Changed to your private directory, overwrites it each time you run a CHANGETO query, and deletes it when you exit the program. You can use Table | Rename or File | Utilities | Rename to save Changed under a different name.

You can produce an Answer table in addition to the Changed table if you check fields on a separate line of the query image. If you also supply selection conditions on that line, the records in the Answer table will reflect those conditions, as you might expect. However, such an Answer table is not particularly valuable since it does not contain any information that has to do with the CHANGETO operation.

Use Changed to verify that the correct records have been changed. If you changed records you did not mean to change, you can delete the changed records from the queried table and reinsert the original records back into the table from Changed. To do this,

1.	Run a DELETE query on the table whose records you accidentally changed, using the new field value(s)---the ones you changed to---as a selection condition(s). This gets rid of the incorrect records.

2.	Insert Changed's records back into the original table, using Changed as the source table and the original table as the target table, in an INSERT query. This restores the queried table back to its original state. (If you're reinserting records into an unkeyed table, Paradox inserts them at the end of the table. Thus, they will not necessarily be in the same order they were originally in before you deleted them.)

The Errchng table

If you try to change key field values (primary or secondary) with a CHANGETO query that would violate referential integrity, Paradox does not perform the changes, but instead places copies of the records with the key field values you tried to change in a temporary table called Errchng. A violation of referential integrity would occur if you tried to change dependent key field values in a child table to values that do not exist in the parent table. (Paradox still creates the Changed table, which contains all of the records you intended to change. Those that actually were changed, and thus did not involve changes to key fields that violate referential integrity, do not appear in Errchng.)

Use Errchng to evaluate the records that apparently violate the referential integrity or validity checks. Compare the records in Errchng to existing records in the target table to determine the problem.

See Also

File | Utilities | Rename

Inserting Records: INSERT

Operation order in a query involving multiple operations


Using CHANGETO with Example Elements

You can use a CHANGETO query with example elements to perform a calculation on values in a field and change the original values to the new calculated values in the same field. (If you were to perform calculations using the CALC operator, Paradox would create a new field to hold the results in an Answer table and would leave the original values unchanged.)

Example

Suppose you want to increase the list price of all stock items by 15%.

See Also

Changing values: CHANGETO


Performing a Multi-Table CHANGETO Query

You can perform a CHANGETO query to change the records in one table to match the records in another table using referential integrity.

Suppose you create a table, Addcorex, in which to enter address corrections for your customer dive shops. You create the table with referential integrity to the Customer table based on the primary key field Customer No. After you enter correct addresses in the Addcorex table, you want to change the old and incorrect addresses in the Customer table to the addresses in the Addcorex table.

See Also

Changing values: CHANGETO

Creating a new table

Defining referential integrity rules


Operation Order in a Query Involving Multiple Operations

You can perform multiple table-changing operations in a single query. If you have more than one query image in a Query window, the only basic requirement for the query to work is that all tables be linked with example elements.

You can, for example, perform a single query that deletes records from one table, inserts records into another table, and changes values in yet another table. You can also do a query that does an INSERT, DELETE, and CHANGETO operation in a single table.

If you want to perform such multi-operation queries, you need to be aware of the order in which Paradox performs operations:

1.	Paradox first retrieves records based on all selection conditions.

2.	It next performs any INSERTs specified in the order Paradox finds them---that is, Paradox looks in the first query image first, then the second, and so on.

3.	Next, Paradox performs any CHANGETOs specified in the order it finds them.

4.	Next, it performs any DELETEs specified in the order it finds them.

5.	Finally, Paradox displays the temporary tables that result, including an Answer table, if you checked any fields.

Because Paradox performs all DELETEs after it performs all INSERTs, you can design a query that undoes itself, first inserting records and then deleting them from the same table. While such a query is not particularly useful, you can design quite intricate queries that save you from having to perform multiple, sequential queries. The more operations you design into a single query, however, the harder it becomes for you to undo the query.

All field types except Paradox BLOB and dBASE memo fields support INSERT, DELETE, and CHANGETO queries.

See Also

Inserting records: INSERT

Deleting records: DELETE

Changing values: CHANGETO

Query operators


Groups of Records

Paradox lets you ask questions about groups of records taken together. You can

Select records based on characteristics of a group, such as items that appear in two or more orders

Calculate statistics on groups of records, such as the average invoice total of orders placed in each state

Compare characteristics of a group with other records, such as which customers have placed more orders than any Hawaii customer

These questions all consider more than one record at a time. No individual record can answer them---you have to look at the group of records together.

You can use the summary operators to answer these and other questions about groups of records.

See Also

Summary operators

Using summary operators


Using Summary Operators

A summary operator performs an operation on a group of records that you define by checking a field or fields. You specify which records to group with selection conditions. Paradox has five summary operators:

AVERAGE	Averages the values in a group.

COUNT	Counts the number of values in a group.

MAX	Finds the maximum value of a group.

MIN	Finds the minimum value of a group.

SUM	Totals the values in a group.

You cannot use summary operators in Paradox BLOB fields or dBASE memo fields. In addition, AVERAGE and SUM cannot be used in alphanumeric or date fields.

Using summary operator modifiers

All of the summary operators except COUNT perform their operation on all of the values in a group by default. COUNT counts only unique values in a group by default. To change the default behavior, apply one of the summary operator modifiers:

ALL	Considers all values in a group, including duplicates. You must use ALL with COUNT, in the format COUNT ALL, to make COUNT count all values in a group, including duplicates.

UNIQUE	Considers only unique values in a group. You must use UNIQUE with all summary operators except COUNT to make them perform their operation on unique values in a group instead of on all values.

Selecting records based on group definitions

Use summary operators and checks to define groups of data. Checks (checkmarks, check pluses, and check descendings) that appear on the same line as a summary operator serve two functions:

They divide the records into groups based on the values in the checked field.

They include the checked field in the Answer table (their usual function).

As with Paradox's other reserved word operators, the case (upper or lower) in which you type any of the summary operators or summary operator modifiers does not matter.

See Also

Summary operators

Selecting records based on a group average: The AVERAGE operator

Selecting records based on a group count: The COUNT operator

Selecting records based on a group maximum or minimum: The MAX and MIN operators

Selecting records based on a group sum: The SUM operator

Calculations on groups

Displaying summary values without grouping by them

Selecting records containing only one value: The ONLY operator


Selecting Records Based on a Group Count: The COUNT Operator

Use the COUNT summary operator to count unique values in each group. The following example demonstrates this kind of query.

Suppose you want to know which countries have three or more of your dive shop customers.

Customer is a keyed table, and Customer No is the primary key, so you know that all customer numbers are unique. The COUNT operator counts unique values by default. If you want to count all values, including duplicates, use COUNT ALL.

See Also

Using summary operators

Counting unique values

Counting all values


Selecting Records Based on a Group Sum: The SUM Operator

Use the SUM summary operator to sum values within each group. The following example demonstrates this kind of query.

Suppose you want to know which customers have placed orders for which they owe more than $5,000.

The checkmark in Name does not form a different group from the checkmark in Customer No, because there's a one-to-one correspondence between Customer No and Name; both checkmarks form the same group.

See Also

Using summary operators

Groups based on more than one field


Selecting Records Based on a Group Average: The AVERAGE Operator

Use the AVERAGE summary operator to average the values in each group. The following example demonstrates this kind of query.

Suppose you want to know the states in which the average invoice total is less than $50,000.

See Also

Using summary operators


Selecting Records Based on a Group Maximum or Minimum: The MAX and MIN Operators

Use the MAX summary operator to find the maximum value in a group. Use the MIN summary operator to find the minimum value in a group. The following example demonstrates a query using the MAX summary operator. You can do the same query with the MIN summary operator to retrieve the minimum value from the same group.

Suppose you want to know the countries in which the highest total invoice is $200,000 or less.

The MAX operator defines the maximum value for selection. You can use the MIN operator just as you use the MAX operator to define the minimum value for selection.

See Also

Using summary operators


Calculations on Groups

In addition to calculating new fields for each record, you can also calculate statistics (like total and average) for groups of records. For example, you can ask

How many of each stock item have been ordered?

What is the total amount of sales for each customer?

How many customers live in each country or state?

What are the highest and lowest priced stock items?

Use summary operators with the CALC operator to count, summarize, average, and find the minimum or maximum values in the fields of your tables. To do this, type CALC and the appropriate summary operator in the field you want calculated.

Renaming the calculated field

Use the AS operator to rename calculated summary fields.

Like all CALC queries, those using groups also create a new field in the Answer table. Paradox automatically names the new Answer table field according to the group calculation. You can rename the new field by using the AS operator.

Example

The following example demonstrates a query using CALC SUM. Suppose you want to know how many of each class of items you have in stock.

See Also

Using summary operators

Groups based on more than one field

Performing a group calculation on the entire table


Groups Based On More Than One Field

You can group by more than one field. To do this, place checks in all fields by which you want to group the table's records. The following example demonstrates a query grouping by more than one field.

Suppose you're interested in a relationship between a payment method and a preferred shipment method. You can group by both the Payment Method and Ship VIA fields of the Orders table:

Note:	The SUM operator example demonstrates a query grouping by more than one field. However, in that circumstance, a one-to-one correlation exists between the two fields (Customer No and Name) by which the query is grouping. Thus, the two separate groups (the group of customer numbers and the group of names) are actually the same group.

See Also

Using summary operators

Selecting records based on a group sum: The SUM operator


Performing a Group Calculation on the Entire Table

If you do not check any fields, Paradox performs the summary operation or summary calculation on all the records in the table. The following example demonstrates this kind of query.

Suppose you want to know the total number of items ordered, regardless of who ordered them or what they are or cost.

No field is checked, so the group is the whole Lineitem table, and the only field in the Answer table is the Sum of Qty field (the result of the CALC SUM operation).

See Also

Using summary operators


Displaying Summary Values Without Grouping By Them

To display values from a field for which you specify a summary operation without grouping by that field, use the CALC operator in that field with the summary operator you used to specify the operation. The CALC operator causes Paradox to create a new calculated field in the Answer table, and this new field will contain the values meeting the summary condition. The following example demonstrates how to do this.

Suppose you want to know which items were sold for the first time after January 1, 1989, and you want to display the dates on which these items were ordered.

Placing a checkmark in the Sale Date field would cause Paradox to attempt to group records by that field, as well as by the LINEITEM.DB Stock No field, so you cannot use a checkmark to display the sale dates. Instead, the CALC MIN causes Paradox to create a new calculated field, Min of Sale Date, which contains sale dates meeting the summary condition MIN > 1/1/89 while preserving the correct grouping.

See Also

Using summary operators


Counting Unique Values

The CALC COUNT operator counts only unique values by default.

Note:	You cannot use COUNT in Paradox BLOB fields and dBASE memo fields.

The following example demonstrates CALC COUNT in a number field. Suppose you want to know how many customers have placed orders with your firm.

No field is checked, so the whole Orders table is the group, and the only field in the Answer table is the Count of Customer No field (the result of the CALC COUNT operation).

See Also

Using summary operators

Counting all values


Counting All Values

To include duplicates in a COUNT operation, simply type ALL after the CALC COUNT operator. Paradox then counts all values, regardless of duplication. The following example demonstrates a CALC COUNT ALL query.

One way of finding out how many orders have been placed is to do a CALC COUNT ALL in the Customer No field of the Orders table. Thus, instead of learning how many unique customers have placed orders, you learn the total number of orders placed.

No field is checked, so the whole Orders table is the group, and the only field in the Answer table is the Count of Customer No field (the result of the CALC COUNT ALL operation).

See Also

Using summary operators

Counting unique values


Selecting Records Containing Only One Value: The ONLY Operator

ONLY is not a summary operator since you cannot perform calculations with it. However, it works the same way as summary operators in that it selects groups whose records all contain the same value and no others.

You can use ONLY in all field types except Paradox BLOB fields and dBASE memo fields.

The following example demonstrates an ONLY query. Suppose you want to find customers who have ordered only small instruments.

See Also

Using summary operators


Sets of Records

A set is a specific group of records that you intend to ask more questions about.

Once you've defined a set in a query, you can compare it to other records or groups of records. Use the set comparison operators ONLY, NO, EVERY, and EXACTLY.

You can make set comparisons of two different kinds:

You can compare other groups of records to the set.

You can use the summary operators to compute the SUM, COUNT, AVERAGE, MIN, and MAX of a set's values, and then compare the results to values in other records.

Set operations are particularly useful for revealing trends and patterns in data.

See Also

SET queries

Defining a set


SET Queries

You can use a SET query to answer a question that might otherwise take two or more queries. Use a SET query when you need to ask questions about the characteristics of a group rather than about individual records.

Every SET query consists of the following components:

One or more lines that define a set

One or more lines, all of which define other records that meet certain comparisons to the set

Optionally, one or more lines that display related information

See Also

Defining a set

SET comparisons

Linking to all records in a table

Using inclusive links


Defining a Set

Defining a set of records in a query is very much like selecting the records to be included in the Answer table. A set definition is a query within a query.

To define a set,

1.	On the query image(s), enter selection conditions that define the records to be included in the set. If the records are in more than one table, use example elements to link the tables.

2.	Choose Set from the menu of query operations in the leftmost field of all query lines that define the set.

3.	Where you would ordinarily put checkmarks to define fields, use example elements instead. This is necessary because lines that are part of the set definition cannot contain checkmarks or summary operators.

When you go on to compare and retrieve records, you'll use these same example elements to link the comparison lines to the set definition.

Example

The single line of this query defines the set of stock items that are Small Instruments, but it is not a complete query. You still need to compare the set to another factor.

See Also

SET queries

SET comparisons


SET Comparisons

Once you've defined a set, you can compare it to other records. One way of doing this is to compare groups of records to the set.

To form groups of records to compare to the defined set, you use checkmarks. The method is the same as for summary operators.

Paradox provides four special set comparison operators.

Operator	Field types	Meaning

ONLY	All	Display only records that match members of the set.

NO	All	Display records that match no members of the set.

EVERY	All	Display records that match all members of the set.

EXACTLY	All	Display records that match all members of the set and no others.

You can use set comparison operators in all field types except Paradox BLOB fields and dBASE memo fields.

Example

The Stock query image of this query defines the set of stock items that are Small Instruments, but it is not a complete query. To complete the query, add the Lineitem table and check the Order No field to display the group of order numbers containing records that meet the conditions of the set. Then type the set comparison operator ONLY, followed by the example element item, in the Stock No field of Lineitem. The query looks like this:

The query does several things:

Defines the set of stock items that are of the equipment class Small Instruments

Groups the records in the Lineitem table by order number

Displays the Order No field of Lineitem in the Answer table

Compares the group of line items of each order number to the set of stock items that are small instruments, selecting those orders whose line items are only small instrument stock items

The Answer table shows those order numbers whose line items are only of the equipment class Small Instruments.

You can use the NO, EVERY, and EXACTLY set comparison operators the same way you use ONLY.

See Also

SET queries

Defining a set

Using the GroupBy check

Using the ONLY set comparison operator

Using the NO set comparison operator

Using the EVERY set comparison operator

Using the EXACTLY set comparison operator


Using the GroupBy Check

Sometimes you might want to group records by the values in a specified field without including those values in the Answer table. To do so, choose the GroupBy check [image]  from the menu of checks for the field. You can use the GroupBy check only with set queries. You cannot use it in BLOB fields.

See Also

SET queries

Defining a set

Using the ONLY set comparison operator


Using the ONLY Set Comparison Operator

When you use the ONLY set comparison operator, you ask Paradox to display only the members of the set you specify.

Suppose you want to see orders placed for the Small Instrument equipment class and no other class of equipment.

See Also

SET queries

Defining a set


Using the NO Set Comparison Operator

When you use the NO set comparison operator, you ask Paradox to display the groups in which no record matches any record of the set you specify. The following example demonstrates a NO query.

Suppose you want to find which orders are for no items over $50 in price. The NO SET query asks to see all records outside the set you specify.

See Also

SET queries

Defining a set


Using the EVERY Set Comparison Operator

When you use the EVERY set comparison operator, you create a set and ask to see groups containing records that match every item in the set. The following example demonstrates an EVERY query.

Suppose you want to see all orders placed for every item in the Vehicle equipment class.

See Also

SET queries

Defining a set


Using the EXACTLY Set Comparison Operator

When you use the EXACTLY set comparison operator, you create a set and ask to see groups containing records that match every item of the set and only items of the set. The following example demonstrates an EXACTLY query.

Suppose the Sight Diver dive shop calls you and wants to change an order they just placed, order number 1363. This order is for one of the vehicles and an air regulator. Instead of the air regulator, the Sight Diver shop wants the other vehicle. You need to change this order in the Lineitem table. After you do, you decide to query for other orders that might have been placed for every vehicle and only vehicles.

First, edit the Lineitem table, changing the record for the air regulator, Stock No 1390, in order number 1363 to the following:

Field	Old value	New value
Stock No	1390	912
Selling Price	170.00	1680.00
Qty	8	1
Total	1360.00	1680.00
Then query for other orders that might have been placed for every vehicle and only vehicles:

When you're finished running the query, suppose that the Sight Diver shop called you back with another change of mind. They want eight air regulators after all and not the other vehicle. Edit the Lineitem table again to change the record for the 912 vehicle of order number 1363 back to the original 1390 air regulator values; use the Old value column of the table in this example. This returns the sample data to its original state.

See Also

SET queries

Defining a set


SET Queries Involving More Than One Set

SET queries can retrieve records based on comparisons involving more than one set. The comparison in the following example involves two sets.

Suppose you want to see customers who have ordered only small instruments and no other equipment class.

See Also

SET queries

Defining a set


Using Summary Operators in SET Queries

You can compare groups of records to a defined set.

You can also compare groups of records to summary values derived from a set. To do this, you define the set as usual. In the line of the query that selects the records to compare to the set, however, use a summary operator instead of a set comparison operator. You can place the summary operator in an arithmetic expression.

Suppose you want to know which dive shops' averages of total invoice of orders is more than the average total invoice of orders for a particular dive shop, specifically the Adventure Undersea dive shop.

See Also

SET queries


Using Inclusive Links

Ordinarily queries retrieve all the records in one table that match records in another table. This type of query represents an exclusive link and is sometimes called an inner join.

When you want an Answer table that includes those records that do not match records in the table to which they're linked, use the Paradox inclusion operator (!). This type of query represents an inclusive link and is sometimes called an outer join.

You add the ! operator to an example element in a query to retrieve all of the records in that table, whether they match records in another table or not. You can also add selection conditions to define the set of master records included in the answer. You can

Use multiple inclusion (!) operators to retrieve all the records from more than one table

Use ! in a query containing an arithmetic expression

Use both inclusive and exclusive links in the same query

See Also

SET queries

Linking to all records in a table

Using the inclusion operator in a query that performs a calculation

Retrieving records from one table that are not in another table


Linking to All Records in a Table

Sometimes you want all records from one table to appear in the Answer table even if they're not matched in the joined table. This is called an inclusive link and it uses ! (the inclusion operator).

When you use the inclusion operator in one of two tables, that table is the master table. The other table is the lookup table.

Paradox first retrieves all records from the master table. It then looks for and retrieves any matching records in the lookup table. The resulting Answer table contains all records from the master table but only matched records from the lookup table.

You can also use the inclusion operator on both sides of the link. For example, you might want to know which students did not sign up for any courses and which courses have no students.

Note:	It is important which table you put the inclusion operator in. That table is the master table and is always processed first. Thus, two queries that are identical, except for the placement of the inclusion operator, can produce significantly different results.

Example

Suppose you want to find out if the Customer table contains customers who have never placed an order. If you link Customer and Orders by placing an example element in both Customer No fields, then check the fields you want to see in the Answer table, you'll see only those customer records that match one or more records in Orders.

If, however, you add the inclusion operator after the example element in the Customer No field of Customer, you'll see all customer records, including those of customers who have never placed an order.

To do this query, you first open the Customer table (by choosing File | Open | Table) and add a new record to the end of it (scroll to the end and press F9 to edit, then press the down arrow to append a blank record). You add a record for a new dive shop customer, using the data in the following table:

Field Name	Data
Customer No	9999
Name	The Human Gill Dive Shop
Street	1225 E. River St.
City	Savannah
State/Prov	GA
Zip/Postal Code	30541
Country	U.S.A.
Phone	404-555-1451
First Contact	5/31/92
After adding the new record for The Human Gill Dive Shop to the Customer table, you end editing (press F9 again) and close the table. Then you perform the following query:

See Also

SET queries

Using inclusive links

Selection conditions with inclusive links

Using the inclusion operator in a query that performs a calculation

Retrieving records from one table that are not in another table

Using both inclusive and exclusive links in a query

Rules for linking tables


Using the Inclusion Operator in a Query That Performs a Calculation

You can use inclusion operators in a query that performs a calculation. The following example illustrates this.

Suppose you're concerned about orders you cannot fill with your current inventory. More specifically, you want a list of all orders, highlighting those for quantities that exceed one-quarter of the quantities in stock.

The ! operator in Orders ensures that the Answer table contains all orders. The qty example element is used in the expression qty * 4 to multiply each stock item quantity value in the Qty field of the Lineitem table (representing the order quantity of each stock item) by four. The < comparison operator then looks for actual stock quantities less than this amount, thus retrieving records of orders that exceed one quarter of the inventory. Records in Answer that contain only an order number are those that do not meet the selection conditions, but are included because the inclusion operator was used.

See Also

SET queries

Using inclusive links


Retrieving Records From One Table That Are Not In Another Table

You can use an inclusive link with the COUNT summary operator and check pluses to retrieve records from one table that are not in another table. The following example illustrates this.

Suppose you want to know if there are any vendors in the Vendors table from whom you have yet to buy any stock. That means you want to know which vendors are in the Vendors table that are not in the Stock table.

See Also

SET queries

Using inclusive links

Using both inclusive and exclusive links in a query


Using Both Inclusive and Exclusive Links in a Query

The following example demonstrates a complicated query containing both inclusive and exclusive links.

Suppose you have recently agreed with your vendors not to sell items to customer dive shops in the same state as the vendor. You can determine how current orders would be affected by these new agreements by summing their total dollar values.

Here are the steps to set up this query:

1.	Use the Join Tables SpeedBar button to place corresponding example elements in the Vendor No fields of VENDORS.DB and STOCK.DB, in the Stock No fields of STOCK.DB and LINEITEM.DB, in the Order No fields of LINEITEM.DB and ORDERS.DB, and in the Customer No fields of ORDERS.DB and CUSTOMER.DB.

2.	Type ! after the example element in the Vendor No field of VENDORS.DB and place a checkmark in it to see all vendor numbers, whether you've ordered stock from them or not.

3.	Place a checkmark in the State/Prov field of VENDORS.DB and press F5. Then type state as the example element representing each State/Prov value in the Vendors table.

4.	Still in the State/Prov field, type ! after the state example element to see all vendor states and then type

, as Vendor State

to rename the field in the Answer table.

5.	Place checkmarks in the Stock No and Description fields of STOCK.DB to see these fields in the Answer table.

6.	In the Total field of LINEITEM.DB, type calc sum as Dollars at Stake to generate a new calculated field in the Answer table. This new field contains summary values of the total order cost for each stock item ordered by each customer located in the same state as a vendor selling that stock item.

7.	In the State/Prov field of the CUSTOMER.DB query image, press F5 and type state as the example element representing each customer's state.

8.	Run the query.

The Answer table contains

All vendors, whether or not you've ordered stock from them

The states that those vendors are located in, and that are, by extension, the same states dive shop customers are located in who have ordered stock from you, which you, in turn, could have purchased from a vendor in the same state (Vendor State, inclusively linked with State/Prov in CUSTOMER.DB)

All stock items that have been ordered (Stock No and Description---if blank, you have not ordered stock from that vendor)

The sum of total orders for each stock number for which a customer could have purchased the same stock item from a vendor selling it in the same state (Dollars at Stake)

See Also

SET queries

Using inclusive links

Rules for linking tables


Rules for Linking Tables

You cannot use an inclusive and an exclusive link in two linked lines.

For any two linked lines in a query, you can use either an inclusive link (!) or an exclusive link to associate them, but you cannot use both. This is because an inclusive link includes all the records from the master table, while an exclusive link includes only records whose values in the linked fields match each other. If you use both kinds, Paradox has no way to decide which link to process first. The resulting Answer table would be different depending on the sequence.

You will not violate this rule if you remember that you can use ! with any given example element only once per line and twice per query. In other words, you can use only one type of link to associate any two lines in a query.

You can use an inclusive and an exclusive link in the same query.

You can use both exclusive and inclusive links in the same query as long as they do not both involve the same pair of lines. When you have both types of link in one query, they are processed in order from least to most inclusive:

1.	Exclusive links, which do not retrieve records that are not matched by records in another table, are processed first.

2.	Asymmetrical inclusive links (with both master and lookup tables), which retrieve all of the records from the master table but only the matched records from the lookup table(s), are processed next.

3.	Symmetrical inclusive links (with only master tables), which include all records from both tables, are processed last.

By processing exclusive links before inclusive links, Paradox guarantees consistent results to its queries. If you want Paradox to process the links in some other order, you must break your question into separate queries.

See Also

SET queries


Report Window Commands

When you are in the Report window, the Report and Properties menus are available to you on the menu bar. When you're previewing a report, the Page menu also appears; when you're designing a report, the Design menu is there instead. Some Edit menu commands work differently in a Report Design window.

The File, Window, and Help menus do not change.

See Also

Report menu

Page menu

Design menu

Properties menu

Common menu commands

Report window tasks


Report menu

Report | Preview

Report | Design

Report | Print

Report | Page Layout

Report | Add Band

Report | Group Repeats

Report | Restart Options

Report | Data Model

Report | Object Tree

Report | Deliver


Report | Preview

Choose Report | Preview to view data in a report.

Shortcut key  F8

To view your data,

From the Desktop, choose File | Open | Report

From the Report window, either

Click the View Data SpeedBar button

Choose Report | View Data

Press F8

When you choose Report | Preview, Paradox displays your report onscreen one page at a time.

While Paradox is preparing your report, the window appears empty except for a Cancel button. If you change your mind about previewing the report, choose Cancel; the window returns to document design.

Navigation buttons

Navigation buttons appear on the SpeedBar when you're previewing a report. Use these to display different pages. The lower right corner of the status line shows the current page.

To return to a design window, either click the Design button on the SpeedBar, choose Report | Design, or press F8.

See Also

Report navigation buttons


Report | Design

Choose Report | Design to create or modify the design of a report.

Shortcut key  F8

When you choose Report | Design, Paradox shows the field names but no data. It also displays report design tools on the SpeedBar.

In designing reports, you use bands to print headers and footers and to group data. You can let the data control the size of these bands and of other objects in reports.

To enter the Report Design window,

From the Desktop, choose File | New | Report or File | Open Report

From data preview in the Report window, either

Click the Design SpeedBar button

Choose Report | Design

Press F8

To leave the Report Design window and view data, either click the View Data SpeedBar button, choose Report | View Data, or press F8.

You can change the shape of the SpeedBar by choosing Properties | Desktop to open the Desktop Properties dialog box. You can move a floating SpeedBar anywhere you want by dragging its title bar.

See Also

Report bands

Fit Height

Fit Width


Report | Print

You can use either Report | Print or File | Print to print a report.

In a preview window, when you choose Report | Print, you can choose either

Current Page: To print the current page. You can specify number of copies and collation.

Report: To print the entire report. You can specify number of copies and overflow handling. Paradox checks collation by default.

In a design window, when you choose Report | Print, you can choose either

Design: To print the design of your report.

Report: To print the entire report with data.

Before printing a report, use the Page Layout dialog box to specify paper size, margins, and orientation. Choose Report | Page Layout to open the Page Layout dialog box.

See Also

Print File dialog box

Expanded Print File dialog box

Report | Print | Current Page

Report | Print | Design

Report | Print | Report


Report | Print | Current Page

You can use either Report | Print or File | Print to print a report.

Choose Report | Print | Current Page to print the current page of a report. You must be in a Report window.

When you choose Report | Print | Current Page, the Print File dialog box opens. Specify how many copies you want and whether you want them collated. Since there is only one current page, Paradox ignores page range.

See Also

Print File dialog box


Report | Print | Design

You can use either Report | Print or File | Print to print a report.

Choose Report | Print | Design to print a report design. You must be in a design window.

When you choose Report | Print | Design, the Print File dialog box opens. Specify how many copies you want and whether you want them collated. The entire design is on one page, so Paradox ignores page range.

See Also

Print File dialog box


Report | Print | Report

Choose Report | Print | Report to print a report. You can print a report from the Report Design window or a report window.

When you choose Report | Print | Design, an expanded Print File dialog box opens. Specify the pages and number of copies you want, and how you want overflow handled.

See Also

Expanded Print File dialog box


Print File Dialog Box (Reports)
Print File Dialog Box

Use the Print File dialog box to set options for printing a report or the current page of a report. To open the Print File dialog box, choose either Report | Print or File | Print.

Dialog Box Options

Print

Choose All or type in a page range. If you are printing a report design, a one-page report, or the current page of a report, the Page Range option is not available.

To print pages in reverse order, type the higher number in the From box and the lower number in the To box.

Copies

Type the number of copies you want.

Collate

Make sure Collate is checked, if you want multiple copies collated into sets.

See Also

Expanded Print File dialog box


Expanded Print File Dialog Box (Reports)
Expanded Print File Dialog Box

Use the Expanded Print File dialog box to set options for printing an entire report, or certain pages of a report.

Dialog Box Options

Print

Choose All or type in a page range.

To print pages in reverse order, type the higher number in the From box and the lower number in the To box.

Copies

Type in the number of copies you want.

Collate

Make sure Collate is checked if you want multiple copies collated into sets.

Overflow Handling

Tell Paradox how you want to treat data that is too wide to fit on the printed page:

Clip to Page Width 	clips (trims) all data that does not fit across the page (within the margins).

Create Horizontal

Overflow Page	prints additional pages when necessary to fit all the data. Each of these pages immediately follows the page it extends.

Panel Vertically 	prints a second page for each page of the report, regardless of how many pages have overflow data.

After you set all options, choose OK. A status message in a dialog box appears onscreen while Paradox sends the report to the printer. Choose Cancel from this dialog box at any time to stop sending the report.

Note:	Choosing Cancel does not cancel any pages Paradox has already sent to the printer. You may not see the effect of choosing Cancel right away unless the middle of the status bar is blank.

See Also

Printing a report

Print File dialog box


Report | Page Layout

Choose Report | Page Layout to open the Page Layout dialog box, where you can

Choose from a list of paper sizes

Specify a custom size

Set margins

Choose whether designing for printer or screen

Whether you design for a printer or for screen determines the fonts available. When you design for a printer, formatting is based on the size of the printer font. The fonts you see onscreen are the best match possible, but might not look exactly like the fonts in the printed report.

Report | Page Layout is unavailable when you're previewing a report and displaying data.

See Also

Page Layout dialog box


Report | Add Band

Choose Report | Add Band to add a group band to your report. When you choose Add Band, Paradox opens the Define Group dialog box.

You can also click the Add Band SpeedBar button.

Paradox uses bands to control the sections of your reports. Bands run horizontally across the page. They represent the tree structure of the report.

Use group bands to break your information into groups of data. Groups can be based on the value of a field, a range of values, or a specified number of records. When you group data in a report by the value of a field, you apply a sorting specification to your data.

Paradox places the first group band between the page band and the record band. When you place more group bands, Paradox places them closest to the record band. To change the order of bands, select the band, then drag it to its new location. You can drag from anywhere in the band.

See Also

Define Group dialog box

Using bands in reports

Report bands

Group bands


Add Band Button

Use the Add Band button to add a group band to your report. This is the same as choosing Report | Add Band.

When you click Add Band, Paradox opens the Define Group dialog box.

Paradox uses bands to control the sections of your reports. Bands run horizontally across the page. They represent the tree structure of the report.

Use group bands to break your information into groups of data. Groups can be based on the value of a field, a range of values, or a specified number of records. When you group data in a report by the value of a field, you apply a sorting specification to your data.

Paradox places the first group band between the page band and the record band. When you place more group bands, Paradox places them closest to the record band. To change the order of bands, select the band, then drag it to its new location. You can drag from anywhere in the band.

See Also

Define Group dialog box

Using bands in reports

Report bands

Group bands


Define Group Dialog Box

Use the Define Group dialog box to place optional group bands in a report. Use group bands to break your information into groups of data. Groups can be based on the value of a field, a range of values, or a specified number of records.

To open the Define Group dialog box, choose Report | Add Band. Or click the Add Band SpeedBar button.

Dialog Box Options

Band Label

Displays the table, field, and type of group you choose below.

Group By Field Value

Check this box to base your group on the value of a field:

Table	Choose the table you want.

Field	Choose the field you want to group records on.

Range Group	You can further define the group by specifying a range of values to be met in the field you are grouping on.

Group By Record

Check this box to base your group on a specified number of records.

Number of Records

Type the number of records you want to appear in each group.

See Also

Group bands

Grouping by field

Specifying a range group in reports


Specifying a Range Group in Reports

When defining a group in a report, you can specify a range of values to be met in the field you are grouping on.

If you do not specify a range, a new group begins every time the field value changes. The meaning of the range depends on the data type of the field.

Range:	Meaning:

Numeric	Groups are determined by intervals; for example, 1-5, 6-10, 11-15.

Date	Groups are determined by day, week, month, quarter, or year.

Alphanumeric	The number of characters that must match to be in the same group.

You specify a range group in the Define Group dialog box.

See Also

Group bands

Define Group dialog box


Report | Group Repeats

Choose Report | Group Repeats to retain or suppress repeated group values.

When Group Repeats is off, Paradox displays the value of the grouped field for each record, including duplicates, in the group band.

When Group Repeats is on, Paradox prints the value for the first record of the group only.


Report | Restart Options

In a multiuser environment, someone might be changing data in tables you're using while you're running a report.

To tell Paradox ahead of time what to do if it finds the data has changed, choose Report | Restart Options. The Restart Options dialog box opens.

See Also

Restart Options dialog box

Networking Paradox


Restart Options Dialog Box (Reports)
Restart Options Dialog Box

Use the Restart Options dialog box to tell Paradox what to do if data changes while you're running a report in a multi-user environment.

Dialog Box Options

Restart report if data changes

Check this to start the report over, regenerating any queries.

Note:	This option is not available for dBASE tables.

Lock tables to prevent data change

Check this to lock all other users out of the tables needed while the report is running; if a lock cannot be put on a table, stop the report. This is the least polite to other users. And if a lock fails, you have to start the report again.

Lock and copy tables, run from copies

Check this to lock all other users out and copy to disk all tables needed for the report; then release the locks and run the report from disk. This is more polite because copying tables to disk is usually quicker than running the report. However, you need a lot of disk space if there are a lot of large tables.

Ignore data changes and continue

Check this to keep running the report even if someone changes the data while it's running. This is the fastest option and works well for rough reports where accuracy is not a concern.

To open the Restart Options dialog box, choose Report | Restart Options.


Report | Data Model

Choose Report | Data Model to view or change the tables bound to a report and to view or change the relationships among them.

When you choose Report | Data Model, Paradox opens the Data Model dialog box.

The Data Model SpeedBar button is a quick way to open the Data Model dialog box.

See Also

Data Model dialog box


Report | Object Tree

Choose Report | Object Tree to view the logical structure of your report. When you choose Report | Object Tree, Paradox displays the report's object tree.

A Paradox object tree shows you a schematic diagram of the bands, fields, and design objects in your report and their relations to one another.

The Object Tree SpeedBar button is a quick way to see this diagram.

If a single design object is selected when you choose Report | Object Tree, Paradox shows you only that part of the tree.


Report | Deliver

Choose Report | Deliver to protect a report design. This is useful if you want to distribute a standard report to other users and need to ensure they will not change the design.

Note:	Report | Deliver is unavailable until you have saved the report.

When you choose Report | Deliver, Paradox creates a new file and gives it the .RDL extension (instead of the normal .RSL extension). Your original report remains intact. You can use the .RDL file to preview or print the report, but Paradox prevents it from being opened in the Report Design window.

If at some later date you need to change the report design, use the original .RSL file, then deliver the report again, creating a new .RDL file.

If you try to open an .RDL file in the Report Design window, Paradox displays a message telling you the report design cannot be edited, and opens the file in the Report window.


Page Menu (Reports)
Page Menu

Use the commands on the Page menu to move quickly to pages in a report.

Choose:	To:

First	Move to the first page

Last	Move to the last page

Next	Move to the next page

Previous	Move to the previous page

Go To	Open the Go To Page dialog box, where you type in a page number

Page is available only when previewing a report.

You can also use the navigation SpeedBar buttons to page back and forth in the report.


Go To Page Dialog Box (Reports)
Go To Page Dialog Box

Use the Go To Page dialog box to move through the pages of a report. Type in the page number you want to go to.

To open the Go To Page dialog box when you're viewing data in a report, choose Page | Go To.


Design menu

Design | Design Layout

Design | Group

Design | Ungroup

Design | Bring To Front

Design | Send To Back

Design | Duplicate

Design | Align

Design | Adjust Size

Design | Adjust Spacing

Design | Copy To SpeedBar


Design|Design Layout (Reports)
Design | Design Layout

Choose Design | Design Layout when you want to completely rework your design.

If you're working on a report and want to start over, this lets you bring up a new starting point.

The Design Layout dialog box opens showing only the fields currently in your report. You can add more fields by using Select Fields.

Choosing Design Layout causes your current design to be completely replaced.

Note:	Do not use Design Layout if you want to change the page size or switch between a screen report and a printer report. Instead, choose Report | Page Layout to open the Page Layout dialog box.

See Also

Design Layout dialog box


Design|Group (Reports)
Design | Group

Choose Design | Group to define separate objects as a group that behaves as one object.

To group objects,

1.	Shift-click to select all the objects you want to group. The objects must belong to the same container.

2.	Choose Design | Group.

Groups can exist in other groups. You can select a group and other objects and group them together at a higher level. The initial group is not lost.

Use groups to reserve the relative positions of objects when you move or resize them.

To ungroup objects

Choose Design | Ungroup to separate the objects again. Or inspect the group and choose Ungroup from its Properties menu.

See Also

Design | Ungroup


Design|Ungroup (Reports)
Design | Ungroup

Choose Design | Ungroup to separate grouped objects.

Note:	If you try to ungroup a group containing ObjectPAL code, Paradox warns you that your code will be lost, and asks you to confirm the Ungroup.

See Also

Design | Group


Design|Bring To Front (Reports)
Design | Bring To Front

Choose Design | Bring To Front to move a selected report object in front of another.

You might want to bring a design object to the front of the stack of objects on a report if you have objects that overlap each other.

To bring an object to the front,

1.	Select an object on the report.

2.	Choose Design | Bring To Front.

Paradox moves the object in front, so it appears to be on top of other objects. This might not be noticeable, unless your objects partially overlap each other.


Design|Send To Back (Reports)
Design | Send To Back

Choose Design | Send To Back to move a selected report object behind another.

You might want to send a design object to the back of the stack of objects on a report if your objects overlap each other.

To send an object to the back,

1.	Select an object on the report.

2.	Choose Design | Send To Back.

Paradox moves the object to the back, so it appears to be underneath other objects.


Design|Duplicate (Reports)
Design | Duplicate

Choose Design | Duplicate to replicate a report object:

1.	Select an object on the report.

2.	Choose Design | Duplicate.

Paradox puts a copy of the selected object on the report just below the original object.

3.	Move and resize the copy as you want.

The duplicated object is a completely independent object, just as if you had copied the original to the Clipboard and then pasted it in, or as if you had created it from scratch.

Exceptions

If the object you are duplicating is a table or multi-record object, the new one violates the rule that a report cannot have two objects of the same type representing the same table in the data model. In this case, the new table is an undefined table with the same table-level properties (color, column positions, and so on), but any fields are replaced by undefined fields.


Design|Align (Reports)
Design | Align

Use Design | Align to line up a group of objects:

1.	Shift-click to select the objects.

2.	Choose Design | Align to see the Align menu.

Objects in a horizontal row can be lined up along their top edges, bottom edges, or midline. An object never leaves its container to align; it goes as far as it can in the indicated direction, then stops. If the objects are inside a table, they align in their column.

Objects in a vertical column can be aligned left or right, or centered.

Note:	To use Design | Align, you must select more than one object.


Design|Adjust Size (Reports)
Design | Adjust Size

Choose Design | Adjust Size to make a group of objects exactly the same size:

1.	Shift-click to select the objects.

2.	Choose Design | Adjust Size to see the Adjust Size menu. Choose which selected object to use as a standard size for all the selected objects.

Choose Minimum Width to resize all objects to be the same size as the narrowest object.

Choose Maximum Width to resize all objects to be the same size as the widest object.

Choose Minimum Height to resize all objects to be the same size as the shortest object.

Choose Maximum Height to resize all objects to be the same size as the longest object.

Note:	To use Design | Adjust Size, you must select more than one object.


Design|Adjust Spacing (Reports)
Design | Adjust Spacing

Choose Design | Adjust Spacing to adjust a group of objects so the space between the objects is exactly the same:

1.	Shift-click to select the objects.

2.	Choose Design | Adjust Spacing to see the Adjust Spacing menu.

You can adjust either the horizontal or vertical spacing.

Note:	To use Design | Adjust Spacing, you must select more than one object.


Design|Copy To SpeedBar (Reports)
Design | Copy To SpeedBar

Choose Design | Copy To SpeedBar to change the default properties for a design tool. All objects you subsequently create with that tool will have the new properties.

To copy an object's properties to a design tool,

1.	Set a design object's properties the way you want them.

2.	Choose Design | Copy To SpeedBar.

You can also use Design | Copy To SpeedBar to influence the properties on objects you create that do not have tools on the SpeedBar. If you select a table header, a record in a table or multi-record object, or the edit region of a labeled field, you can use Design | Copy To SpeedBar to alter the properties of a "hidden" tool that creates those objects.

Note:	Design | Copy to SpeedBar will not change the properties of any objects contained by the object you select. You must change the properties of each contained object separately.

The changes you make to the SpeedBar are preserved only for the current Paradox session. To make these changes permanent, choose Properties | Designer. In the Designer Properties dialog box, select Change Contents.

See Also

Designer Properties dialog box


Properties menu

Properties | Desktop

Properties | Designer

Properties | Current Object

Properties | Report Options

Properties | Zoom

Properties | Band Labels

Properties | Snap To Grid

Properties | Show Grid

Properties | Grid Settings

Properties | Horizontal Ruler

Properties | Vertical Ruler

Properties | Expanded Ruler


Properties|Desktop (Reports)
Properties | Desktop

Choose Properties | Desktop to change the way your Desktop looks. In the Desktop Properties dialog box you can change

Title	Type another title to appear on the Desktop title bar.

Background

Bitmap	Type the name of a bitmap file or choose Find to see a list. Choose Center Bitmap to display the bitmap in the center of the Desktop, or choose Tile Bitmap to repeat the bitmap until it fills the Desktop.

SpeedBar	Make the SpeedBar a floating palette shaped into one or two columns or rows. To return the floating SpeedBar to its position under the menu, choose Fix from its Control menu.

ObjectPAL

Level	Advanced gives you more methods and procedures to use when you attach code to objects in forms and reports.

See Also

Report Design SpeedBar


Properties|Designer (Reports)
Properties | Designer

Choose Properties | Designer to change the way objects appear or behave onscreen. In the Designer Properties dialog box, you can set preferences that are common to both the Form and Report Design windows.

You can change the way objects are selected, how they look onscreen, and how they behave as you move them. You also save SpeedBar design tool changes in a file to preserve them for future Paradox sessions.

See Also

Using Select From Inside

Using Frame Objects

Using Flicker-Free Draw

Using Outlined Move/Resize

Designer Properties dialog box

Using saved SpeedBar settings


Designer Properties Dialog Box (Reports)
Designer Properties Dialog Box

Use the Designer Properties dialog box to change the way objects appear onscreen. You can set preferences that are common to both Form Design and Report Design windows. To open the Designer Properties dialog box, choose Properties | Designer.

Dialog Box Options

Design Preferences:

Select From Inside	When checked, lets you click an object to select it. If Select From Inside is unchecked, you can still select a deeply contained object directly by clicking repeatedly until it is selected.

When this is checked, many objects have a dotted border so you can see object boundaries.

Flicker-Free Draw	Gives you a smooth and flicker-free view onscreen. If your screen redraw is too slow, try unchecking this option.

Outlined Move/Resize	Shows only a dotted outline of an object while you're moving or resizing it. The object reappears when you release the mouse button. To see the object throughout the move, uncheck this option.

Prototype Objects:

Change Name	If you change the properties of design tools on the SpeedBar, you can save the changes to a file. You can have several SpeedBar property files.

To use a different file, choose Change Name and type the name of the file you want in the File Name text box.

To create a new file, choose Change Name and type a new file name in the File Name text box. The file name can be up to eight characters, with the extension .FT. Paradox keeps the original SpeedBar property settings in PXTOOLS.FT, and creates a new SpeedBar property file to store the changed SpeedBar properties.

Change Contents	Saves the current SpeedBar properties to the file named in the File Name text box.

Changes to the SpeedBar saved in the Designer Properties dialog box are preserved for future Paradox sessions.

If you overwrite the original PXTOOLS.FT SpeedBar property file, you can recover it by loading PXTOOLS.FT in the Designer Properties dialog box, then deleting PXTOOLS.FT from your working directory. The next time you open Paradox, the original file is restored.

See Also

Using Select From Inside

Using Frame Objects

Using Flicker-Free Draw

Using Outlined Move/Resize

Using saved SpeedBar settings


Using Select From Inside (Reports)
Using Select From Inside

When you click a composite object (an object made up of more than one part), you choose how you want Paradox to select contained objects. You set this choice in the Designer Properties dialog box, with the Select From Inside option.

Suppose you have an ellipse contained in a box. What do you want selected when you click the ellipse--the box or the ellipse? If you want to select the outermost object first, uncheck Select From Inside. When you click the ellipse, Paradox selects the box. The second click on the ellipse selects it. Likewise, if you have a field contained in an ellipse contained in a box, and you click the field with Select From Inside off, the first click selects the box, the second click selects the ellipse, and the third click selects the field.

If Select From Inside is on (checked) you can select the part of a composite object you click. When a field is contained in an ellipse contained in a box, you click the field to select it, click the ellipse to select it, and click the box to select it.

See Also

Designer Properties dialog box


Using Frame Objects (Reports)
Using Frame Objects

You can choose to display the objects on your screen with or without frames. If you check Frame Objects in the Designer Properties dialog box, objects without a clear frame or outline will be outlined by dotted lines to help you see them. You might want to uncheck this if you have too many such objects because it can give a cluttered look that gets confusing. If you uncheck Frame Objects, Paradox shows frames only on objects whose Frame property (the frame's color, style, or thickness) you've changed.

Note:	These frames appear only in design windows.

See Also

Designer Properties dialog box


Using Flicker-Free Draw (Reports)
Using Flicker-Free Draw

Sometimes the screen might flash a bit when you move or resize objects. This is especially noticeable when your design has a dark background. Check Flicker-Free Draw to suppress this behavior.

While turning Flicker-Free Draw on does eliminate some screen flickering, it can cause the movement or resizing of objects to be slower. Try using your report with Flicker-Free Draw on and off to see which works better for you.

See Also

Designer Properties dialog box


Using Outlined Move/Resize (Reports)
Using Outlined Move/Resize

Choose Properties | Designer | Outlined Move/Resize to set options for what you see when you move or resize an object.

If you want to see the object move, expand, or contract as you move or resize it, uncheck Outlined Move/Resize.

If you want to see an outline of the object move, expand, or contract as you move or resize the object, check Outlined Move/Resize.

Most moving and resizing is faster with Outlined Move/Resize on, because Paradox does not pause to redraw the screen image until the operation is complete. But some operations are easier when you can see what's happening. Resizing bands is much easier with Outlined Move off, if your machine is fast enough.

See Also

Designer Properties dialog box


Using Saved SpeedBar Settings (Reports)
Using Saved SpeedBar Settings

If you change the properties of any of the design tools, you can save the changes to a file. You can have several SpeedBar property files.

To use an existing file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Name and type the name of the file you want in the File Name text box. Paradox displays a message informing you that the file already exists and asks if you want to load the file.

Choose Yes to load and use the file. Changes you've made to the SpeedBar are not applied to the file you load.

Choose No to replace the file shown in the File Name text box with your current settings.

Choose Cancel to cancel the operation and return to the Designer Properties dialog box.

To create a new file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Name, then type a new file name in the File Name text box. The file name must be eight characters or fewer, with the extension .FT.

Paradox keeps the original SpeedBar property settings in PXTOOLS.FT, and creates an additional SpeedBar property file to store the SpeedBar properties as you've changed them.

To overwrite the contents of the current SpeedBar property file,

1.	Choose Properties | Designer to open the Designer Properties dialog box.

2.	Choose Change Contents. When you choose OK to exit the Designer Properties dialog box, Paradox overwrites the contents of the file shown in the File Name text box with the changes you've made to the design tools.

If you overwrite the original PXTOOLS.FT SpeedBar property file, you can recover it by loading PXTOOLS.FT in the Designer Properties dialog box, then deleting PXTOOLS.FT from your working directory. The next time you open Paradox, the original file is restored.

Note:	If you sometimes design documents for the screen, and sometimes for the printer, you might want to create two specialized .FT files, one with settings appropriate for screen documents and one with settings appropriate for printed documents.


Properties|Current Object (Reports)
Properties | Current Object

Choose Properties | Current Object to inspect properties of the selected object. It's the same as right-clicking the object.

If you do not know what the selected object is, look in the lower right corner of the status bar.

When you choose Properties | Current Object, the list of properties for the selected object opens. Choose the property you want to see or change.

This command is unavailable when you're previewing a report.


Properties | Report Options

Commands on the Report Options menu affect options you set using the lower section of the Properties menu in the Report Design window.


Properties | Report Options | Save Defaults

Choose Report Options | Save Defaults after you've set all your preferences on the Properties menu the way you like them. These preferences are the properties you check on the Properties menu, from Zoom to Expanded Ruler.

When you choose Save Defaults, Paradox saves the current preferences as the default for all Report Design windows. These default preferences remain in effect from one session to another, until you save a different default set.

To restore the Properties menu to defaults you last saved in the current Paradox session, choose Report Options | Restore Defaults.

Note:	You cannot retrieve default preferences from an earlier Paradox session.

See Also

Report Options | Restore Defaults


Properties | Report Options | Restore Defaults

Choose Report Options | Restore Defaults to restore the previous Properties settings. These settings are the preferences you check on the Properties menu, from Zoom to Expanded Ruler.

Use Restore Defaults when you've changed these preferences and want to go back to the ones you last saved using Save Defaults.

When you choose Restore Defaults, Paradox restores the default preferences you last saved in the current Paradox session (using Save Defaults).

Note:	You cannot retrieve default preferences from an earlier Paradox session.

See Also

Report Options | Save Defaults


Properties|Zoom (Reports)
Properties | Zoom

Choose Properties | Zoom to change the scale of a report onscreen. You can zoom out (decrease the scale and see a larger area) or zoom in (increase the scale and see part of the report up close).

To take a step back from your report, choose 25% or 50%.

To take a closer look at your report, choose 200% or 400%.

There are also three automatic zoom sizes:

Fit Width	Fits the width to the window

Fit Height	Fits the height to the window

Best Fit	Fits the entire page of the report to the window


Properties | Band Labels

Choose Properties | Band Labels to control the display of band labels in a report.

When Band Labels is checked on the Properties menu, Paradox displays labels for the bands in your report. Band Labels is checked by default.

Having band labels visible makes it easier to select and manipulate bands with the mouse. If you have any bands sized to zero height, you cannot see them unless band labels are visible.

To remove the labels, uncheck Band Labels on the Properties menu. The labels disappear, though the bands are still in place.

Turn off (uncheck) Band Labels to get a better idea of what the report will look like as you're designing it. You can still use the vertical ruler's sidebar to align objects.

See Also

Using bands in reports


Properties|Snap To Grid (Reports)
Properties | Snap To Grid

Choose Properties | Snap To Grid to line up objects on a report.

If you check Snap To Grid on the Properties menu, objects jump to the closest minor division of the grid when you move or resize them.

Checking Snap To Grid leaves any objects on your report where they are until you move or resize them.

Internally generated resizes (such as when you add text to a text object or define a field object) do not snap to the grid.

To see the grid, choose Properties | Show Grid. Paradox displays major grid lines and minor grid ticks. You do not need to have the grid showing.

To change the grid setting, choose Properties | Grid Settings.

See Also

Properties | Grid Settings


Properties|Show Grid (Reports)
Properties | Show Grid

Choose Properties | Show Grid to see the current grid settings.

When you check Show Grid on the Properties menu, Paradox displays major grid lines and minor grid ticks.

Show Grid lets you see the grid to help you line things up by eye, or to see where objects are snapping if you have Snap To Grid on. Turning on Show Grid does not make objects snap to the grid. To do that, use Properties | Snap To Grid.

To change the grid setting, choose Properties | Grid Settings.

Tip:	In the Report Design window, if the grid is visible, you can inspect a band and choose Move Grid to Band to reorient the grid at the top left corner of the inspected band.

See Also

Properties | Grid Settings

Properties | Snap to Grid


Properties|Grid Settings (Reports)
Properties | Grid Settings

Choose Properties | Grid Settings to change the settings of the grid.

When you choose Properties | Grid Settings, Paradox opens the Grid Settings dialog box, where you can specify

Units	Lets you choose inches or centimeters as the unit of measurement

Major division	Lets you specify the distance (in the units chosen) between major grid lines

Minor division	Lets you specify the number of minor divisions (shown by tick marks) between major grid lines

To use the grid to limit moves and resizes to grid lines, turn on Snap To Grid.

To see the grid, check Show Grid on the Properties menu. Paradox displays major grid lines and minor grid ticks.

See Also

Properties | Snap To Grid

Properties | Show Grid


Properties|Horizontal Ruler (Reports)
Properties | Horizontal Ruler

When you check Horizontal Ruler on the Properties menu, Paradox displays a ruler across the top of the design area. The ruler shows a shadow of the selected object.

Units can be inches or centimeters. To change the units shown on the ruler, choose Properties | Grid Settings.

To remove the ruler, uncheck Horizontal Ruler on the Properties menu.

You can remove both rulers and display the grid by choosing Properties | Show Grid. Use Properties | Grid Settings to change the units or the mesh of the grid.

Properties | Horizontal Ruler is not available when you're previewing a report.

See Also

Properties | Grid Settings


Properties|Vertical Ruler (Reports)
Properties | Vertical Ruler

When you check Vertical Ruler on the Properties menu, Paradox displays a ruler down the left side of the design area. The ruler shows a shadow of the selected object.

Units can be inches or centimeters. To change the units shown on the ruler, choose Properties | Grid Settings.

To remove the ruler, uncheck Vertical Ruler on the Properties menu.

You can remove both rulers and display the grid by choosing Properties | Show Grid. Use Properties | Grid Settings to change the units or the mesh of the grid.

In reports, the vertical ruler comes with a sidebar. The sidebar is the space between the vertical ruler and the window edge.

To insert a page break, click the sidebar where you want the break. Paradox will not let you put a page break in the middle of an object.

To remove a page break, drag the page break marker off the sidebar.

See Also

Properties | Grid Settings


Properties|Expanded Ruler (Reports)
Properties | Expanded Ruler

Choose Properties | Expanded Ruler options to display a ruler with editing and layout buttons. Make sure Properties | Horizontal Ruler is checked, as well.

Use the buttons on the expanded ruler to layout text in a text object. You can adjust

Alignment		Choose left, centered, right, or justified to align selected text. If no text is selected, the next text you type will be aligned the way you chose.
Tabs		Select a Tab button, then click the object's shadow above the ruler to place the tab. Slide a tab to move it, or drag it off the ruler to remove it. Types of tabs available are right, left, center, and decimal.
Line spacing		Click the line spacing you want for the selected text. If no text is selected, the next text you type will be spaced the way you chose. Choose 1 for single-spaced text, 2 for double-spaced, and so on.
The expanded ruler applies only to a selected text object with the text insertion point flashing.


Reports

Using Paradox reports, you can display the data, graphics, calculations, and headings from tables any way you want, and then print the result. You can also combine information from several tables and include special design objects to give your report the look you want.

The tools for creating and modifying a report are like the tools you use to create and modify forms. However, because a report is designed to be printed, rather than viewed onscreen, some concepts, functions, and tools are unique to report design.

You create reports in the Report Design window. You can preview them in the Report window before printing. To enter or change data, you must be in a Form or Table window.

See Also

Report window tasks

Tasks common to all windows

Report window commands

Editing data in a Table window


Report window tasks

Opening a report

Report Preview SpeedBar

Report navigation buttons

Printing a report

Creating a new report

Using design objects in reports

Report Design SpeedBar

Single-table Design Layout dialog box

Multi-table Design Layout dialog box

Page setup

Using bands in reports

Summaries


Opening a Report

You can open a report either from the Desktop or from a Table window.

From the Desktop

1.	Choose File | Open | Report or click the Open Report SpeedBar button. A list of all available reports appears in the Open Document dialog box.

2.	Choose the report you want from the list.

Check View Data to see data in the report.

Check Design to modify the report's design.

Check Print to send the report directly to the printer.

From a Table window

Click the Quick Report SpeedBar button. This is the same as choosing Table | Quick Report.

If you have not designated a preferred report or if the preferred report cannot be used, Paradox creates a default report.

Paradox does not send the report to the printer, but lets you preview it onscreen first. To send the report to the printer, use Report | Print | Report or File | Print | Report.

To specify a preferred report, choose Properties | Preferred | Report.

See Also

Report Preview SpeedBar

Open Document dialog box

Creating a new report


Open Document Dialog Box

Use the Open Document dialog box to specify the file you want to open. To open the Open Document dialog box, choose File | Open | Report.

Dialog Box Options

File Name

Type the file name in the File Name box or pick it from the list. To open a document that is not in the working directory, either

Type the file name (including the full directory path) in the File Name text box.

Use the Path list to choose an alias.

Choose Browse.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows the type of document you chose to open. All documents of that type in the working directory are shown in the Path list.

Browse

Open the Browser, where you can choose a file in another directory.

Open Mode

Choose View Data to view data in the report onscreen. Choose Design to modify the design. Choose Print to send it directly to the printer.

Open As

Choose whether to open as a report or as a form. Opening a report as a form is a quick way to use a report's layout to specify the layout of a form. By default it opens as a report (that is what it was designed as), but if you particularly like the design, and want to use it in a form, you can.

Change Table

Choose to open the document using a different master table---a different table from the one where you originally designed it. When you choose Change Table, Paradox opens the Select File dialog box, where you specify the new master table. This should be a table of similar structure.

See Also

Browser

Select File dialog box

Designing reports from forms


Report Navigation Buttons

Navigation buttons appear on the SpeedBar when you're previewing a report. Click the buttons to move quickly to pages of the report that you want to see.

	First page of report
	Previous page of report
	Next page of report
	Last page of report
	Opens the Go To Page dialog box, where you type in a page number
Note the difference between navigating in a report and navigating in a form:

In a report, navigation buttons and commands on the Page menu move through pages. You can display more than one record on each page.

In a form, navigation buttons move through records. Use the commands on the Form | Page menu move through pages. You can use more than one page to show a record.

See Also

Go To Page dialog box


Printing a Report

To print the whole report, choose Report | Print | Report or click the Print button on the SpeedBar. You can print the report from either the Report Design window where you design it or the Report window where you view it.

To print only the current page of data, you must be in the Report window. Choose Report | Print | Current Page, or specify a page range of just the current page.

To print the report design (without data), you must be in the Report Design window. Choose Report | Print | Design.

You can also choose File | Print to print a report.

See Also

Print File dialog box

Expanded Print File dialog box


Creating a New Report

To create a new report from the Desktop, choose File | New | Report or right-click the Open Report SpeedBar button and select New. Paradox opens the Data Model dialog box, where you can specify the tables you want to use in the report.

Creating a new report takes you through two or three dialog boxes, depending on your choices. Here's the general road map:

First the Data Model dialog box opens. Choose which tables you want to use and how they are related. You can always change this later, so do not worry if you do not get everything right.

If you do not choose any tables, choose OK to open the Page Layout dialog box. Choose page sizes and whether you are designing for printer or screen.

If you choose a single table, the Single-table Design Layout dialog box opens.

If you choose multiple tables with a 1 [image] M relationship, the Multi-table Design Layout dialog box opens.

Both of these dialog boxes let you make selections to generate a starting layout with most of your data objects on it. You can then modify this design in the design window.

Adding a table

To add a table, either

Select the table from the list and click the Add Table arrow.

Double-click the table name.

The table name appears in the data model panel.

If you want to use a table not listed in the dialog box, choose Browse. This opens the Browser, where you can locate tables in a different directory.

Removing a table

To remove a table from the data model panel, select it and click the left arrow.

When you place a table in the data model panel and choose OK, Paradox displays the Single-table Design Layout dialog box. Use this dialog box to preview layout options for the report fields.

You can also choose OK without choosing a table. Paradox then opens the Page Layout dialog box, where you specify paper size.

After specifying layout, choose OK to open the Report Design window.

See Also

Report Design SpeedBar

Using bands in reports

Using design objects in reports

Summaries

Browser

Dialog boxes:

Data Model dialog box

Page Layout dialog box

Single-table Design Layout dialog box

Multi-table Design Layout dialog box


Using Design Objects in Reports

You create design objects in reports with design tools on the SpeedBar.

Most design objects, such as shapes, lines, and text objects, behave the same in reports as they do in forms. But table frames and multi-record objects behave differently.

Using table frames in reports

In a design window, Paradox shows two rows of a table. When you preview or print your report, the whole table appears.

Limiting the growth of expanding objects

You can place an invisible box or line to limit the growth of your table on the printed page. You can use invisible objects to limit the growth of any expanding object on a report. Lines or boxes placed horizontally or vertically inhibit the expansion of other objects and control the layout of your report.

Using multi-record objects in reports

Use the Layout dialog box for multi-record objects in reports only to place horizontal copies of record objects. The banding mechanism of the report automatically creates vertical copies.

See Also

Report Design SpeedBar

Invisible

Using bands in reports


Data Model Dialog Box

Use the Data Model dialog box to specify tables you want to use in your forms and reports, and how these tables are related to each other. You can also use the Data Model dialog box to choose and link tables for use in a query. To open the Data Model dialog box, choose File | New | Form, File | New | Report, or File | New | Query.

The big panel on the right shows a schematic representation of your data model. You place the tables you want here, then link them to each other.

If you open the Data Model dialog box from an existing design document, and a table name in the data model panel has an asterisk, that means a field from that table is bound to an object on the document.

To link tables, click the master table and drag to the detail table. When you release the mouse button, the Define Link dialog box opens.

Tip:	It's a good idea to link tables as you go, so you have more room in the data model diagram.

Dialog Box Options

File Name

Select the table you want to be the master table, or leave this undefined. Click the Add Table arrow [image]  or press Alt+A to place the selected table in the data model panel. Similarly, select other tables you want to attach to the document. Click the Remove Table arrow [image]  or press Alt+D to remove tables from the list. Once you've placed a table in the data model panel, you can inspect it.

Note: In the data model panel, if a table name has an asterisk, that means a field from that table is bound to an object on the document.

Path

To see other tables, choose an alias or your private directory. Or choose Browse to open the Browser. The tables you choose do not have to be in the same directory.

Type

Choose <Tables> or <Queries>. The Path file list shows all tables or queries in the working directory.

Link

To change the way two tables are linked, select the detail table and choose Link to display the Define Link dialog box. From there, choose Unlink to break the existing link, then specify the link you want.

Unlink

To remove an existing link, select the detail table in the data model panel and choose Unlink.

See Also

Browser

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Creating Reports (an overview)


Single-Table Design Layout Dialog Box

The Design Layout dialog box for a single-table report gives you several options for the basic layout of your design. To open the Design Layout dialog box, choose OK from the Data Model dialog box or choose Design | Design Layout from the Report Design window.

Note:	If your table contains very long memo fields, you probably want a Single-Record style. Records in tables and multi-record objects cannot break over pages, so if a single value does not fit on one page, an error occurs when you try to print or view the report. Alternately, you can use fixed-size records (set the property in the design window) and clip off the portion that does not fit.

Dialog Box Options

Field Layout

Choose how you want fields in single-record and multi-record styles displayed:

By Columns	Displays objects in columns, down the page. This is the default layout.

By Rows	Displays objects in rows, across the page.

Multi-Record Layout

If your layout is multi-record, specify whether you want the records to be arranged horizontally, vertically, or both. The default for forms is Both.

Labeled Fields

Gives you the option of using labeled fields or unlabeled fields. In a tabular design, you always use unlabeled fields, because this option is unavailable.

Select Fields	Opens the Select Fields dialog box, where you specify which fields to use in the layout.

Page Layout	Opens the Page Layout dialog box, where you specify page dimensions, and whether you are designing for printer or screen.

Style

Use these options to choose a different layout:

Single-Record	Displays one record of the table at a time, in a free-form layout. Single Record is the default style for a form.

Multi-Record	Displays several records of the table in a multi-record object. Use the Multi-Record options (Horizontal, Vertical, Both) to detail how you want the records repeated. If you want a different number of repeats, you can change that from the design window.

Tabular	Displays an image of the table you chose. Rows and columns are shown just as if you were working with the table itself.

Blank	Removes all fields from the design. The fields of the chosen table are still available for placement, using the Field tool.

Note:	Creating a design documentidh_glos_desn by choosing a table with a blank layout is different from creating a blank design document. When you choose a table, then choose a blank layout, the design document you create is associated with the table, and its fields are available for placement. A truly blank form is not associated with any table, and only special fieldsidh_glos_special can be placed on it.

A model of the form you are designing appears in the dialog box. As you make changes to the design, the model changes.

See Also

Creating a new report

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Select Fields dialog box

Page Layout dialog box

Field tool

Table frames

Multi-table Design Layout dialog box


Table Frames

If you choose the tabular layout from the Design Layout dialog box, you'll see a table frame in your design.

Unless you modify it, a table frame looks like the source table that defines it. But a table frame is not a table. It is a composite object consisting of

A grid (the structure for the fields and labels that represent a table). This contains a header, rows, and columns.

A header that can be inspected individually, detached, or deleted. The header contains text objects.

Text objects (the labels of the fields) in the header.

Rows (records) that can be inspected individually. Rows contain field objects.

Field objects (the fields from the source table) in rows and columns.

Columns that can be inspected, inserted, or deleted individually.

You can manipulate any of the contained objects to customize the look of your table.

See Also

Creating a new report

Single-table Design Layout dialog box

Modifying a table frame

Expanding objects in reports


Modifying a Table Frame

Because a table frame is a collection of other objects, you have great flexibility in customizing it to display your data in a form or a report. You can

Resize a column by dragging its right grid line in the header area

Resize row height by clicking and dragging the horizontal grid line under a field object

Delete a column by selecting it and pressing Del

Insert a column by selecting a column and pressing Ins (the new column appears to the left of the selected column.)

Redefine a field object by inspecting it and choosing Define Field from its Properties menu

Add a regular, special, summary, or calculated field by placing and defining a new field object

Stack field objects in the same column

Add design elements like lines, boxes, and ellipses

Add data elements like other tables, graphs, or crosstabs

Detach the header (and delete it or move it to another band)

To change the parts of the table individually, you can

Retype the labels and inspect them to change any text properties

Inspect the field objects to change properties

Inspect the record (row) as a whole to change its properties

Inspect the grid to change any of its properties

Inspect the header to change its properties

In a Report window, a table frame expands lengthwise until all records for the table are printed.

Note:	Because the table frame you place in a design is not the actual table, property changes and table frame restructuring do not affect the actual table. Only changes made to the data appear in the table itself.

See Also

Creating a new report

Multi-table documents

Expanding objects in reports

Pushing and pulling other objects

Using lines to control pushed objects


Expanding Objects in Reports

When you place objects that contain data in a report design, you can set their Horizontal Grow and Vertical Grow properties on or off. If these properties are off, the objects retain their size and shape when printed or previewed, clipping data that is too large to fit.

If these properties are on, data objects expand and contract to fit the amount of data they hold when printed or previewed.

Tables and multi-record objects expand or contract vertically, filling as many pages as it takes to print all records (unless you've changed the Layout property of the multi-record object).

Fields, when placed individually or as part of a table or multi-record object, expand or contract horizontally to display all the data they contain (unless Word Wrap is checked).

Fields with Word Wrap checked are fixed in width and expand vertically. Even if they contain less data than a single line, they remain fixed in width.

Fields that expand in tables and multi-record objects cause the whole table or multi-record object to expand with them.

Objects that contain tables, multi-record objects, or fields can grow as the contained objects grow. Or, if they are scrollable objects, they expand to show all the contents (for example, graphic objects, record objects, text objects).

All objects on which you can place scroll bars in forms expand to their full size in reports, when Size To Fit is set.

You can add a group band and group the records by a number of records. This results in a number of fixed-size table or multi-record objects (as many as it takes to display all records of the table).

If the records in your table or multi-record object contain too much data to fit on a page, a run time error occurs. If you make them fixed size (turn Size To Fit off), they will clip the data but not generate an error. If you do not want clipping, consider a single-record style report.

See Also

Creating a new report

Multi-table documents

Pushing and pulling other objects

Using lines to control pushed objects


Pushing and Pulling Other Objects

When objects expand, they push surrounding objects, maintaining the spacing between them. When they contract (when there is too little data to fill the object) they pull in surrounding objects. Vertically expanding objects push other objects down the page, and horizontally expanding objects push other objects across the page to the right.

You can pin any object to the design by inspecting it and choosing Run Time | Pin Horizontal or Run Time | Pin Vertical. This prevents the object from being pushed or pulled by other objects. Otherwise, an expanding object can obscure an unpinned object.

See Also

Creating a new report

Multi-table documents

Expanding objects in reports

Using lines to control pushed objects


Using Lines to Control Pushed Objects

Suppose you want an expanding object in your report to push another object that is not beside or beneath it---an expanding field, for example, with a graphic object to its right and a second graphic object below that. The field will push only the top graphic object.

To maintain the alignment of the two graphic objects as they are pushed or pulled, you can place a vertical line in the design. Draw a vertical line between the field and the two graphic objects. The expanding field pushes the line, which subsequently pushes both graphics.

You can also place a horizontal line beneath a vertically expanding object to control the vertical alignment of any objects that might be pushed or pulled by it.

If you do not want to see the line, choose Run Time | Invisible. You can see it when designing but not when viewing data in the report. (You could also set its color to transparent white, but then you could not see it when designing.)

Note:	You could use invisible boxes to block expansion, but they only clip the excess. Instead, block expansion by turning off Size To Fit. Use invisible boxes for surrounding several objects that you want to keep together: If the box is unbreakable, the objects push to the next page rather than splitting over two pages.

See Also

Creating a new report

Multi-table documents

Expanding objects in reports

Pushing and pulling other objects


Multi-Table Design Layout Dialog Box

Use the Design Layout dialog box for a multi-table report to choose several options for the basic layout of your design. To open the Design Layout dialog box, choose OK from the Data Model dialog box.

Note:	If your data model is deep (1 [image] M [image] M or more) or you choose many master records, make sure detail tables have very few records per set. Records cannot be broken over pages, so if all the details cannot fit, you will get an error when printing or previewing the report. If this occurs, return to the data model and reverse the direction of the links (converting I [image] M to M [image] I). This lets you use group bands to break up the data into sets, rather than detail tables, and you can avoid tables and multi-record objects.

Dialog Box Options

Object Layout

Choose how you want objects in single-record and multi-record styles displayed:

By Columns	Displays objects in columns, down the page. This is the default layout.

By Rows	Displays objects in rows, across the page.

Fields Before Tables	When you check Fields Before Tables, all fields of the table's current record appear before any objects representing detail tables. Otherwise, detail tables appear first.

Nested	When you choose Many from the Number of Master Records panel, or if your data model has a 1 [image] M [image] M relationship, Paradox makes the Nested check box available. If you choose Nested, Paradox displays the master records in a multi-record object and places the detail record object inside the master multi-record object. The details are "nested" within the master.

Multi-Record Layout

If your layout contains multi-record objects, specify whether you want the records to be arranged horizontally, vertically, or both. The default for forms is Both. Your layout contains multi-record objects if

Detail Table Style is Record.

You have a Nested design.

Labeled Fields

The Labeled Fields check box gives you the option of using fields with Display Type labeled or unlabeled.

Select Fields

Opens the Select Fields dialog box, where you specify which fields to use in the layout. Note: You never see fields from unlinked tables (not linked to the master) in an automatically generated layout.

Page Layout

Opens the Page Layout dialog box, where you specify page dimensions and whether you are designing for printer or screen.

Detail Table Style:

Specify the type of object used to represent tables that have nothing nested in them:

Table	Specify a table object.

Record	Specify a multi-record object.

Number of Master Records

Specify the number of records you want from the master table:

One or Many	Displays either one or many records from the master table. In a form, the way in which these records are displayed depends on your Detail Record Style choice and whether the design is nested.

Blank	Removes all fields from the design. The fields of the chosen table are still available for placement, using the Field tool.

Note:	Creating a design document by choosing a table with a blank layout is different from creating a blank design document. When you choose a table, then choose a blank layout, the design document you create is associated with the table, and its fields are available for placement. A truly blank form is not associated with any table, and only special fields can be placed on it.

See Also

Creating a new report

Define Link dialog box (Paradox)

Define Link dialog box (dBASE)

Select Fields dialog box

Page Layout dialog box

Field tool

Single-table Design Layout dialog box


Select Fields Dialog Box

Use the Select Fields dialog box to specify which fields to use in the layout of a form. To open the Select Fields dialog box, choose the Select Fields button in the Design Layout dialog box.

The table(s) you've chosen for the design appear on the left side of the dialog box. All the fields of the selected table appear in the Selected Fields list. When you open a new form, you always start with all fields. When you open an existing design document, only the fields previously included in its design appear in the Selected Fields list.

Dialog Box Options

Selected Fields

The fields from the table you selected are shown here. Paradox includes all fields from this list in the design. Fields appear in the design in the order they are shown in this list

To add another field without removing the first, click the table's drop-down arrow and Ctrl+click the field you want. That field is added to those already in the Selected Fields list.

Remove Field

To remove a field displayed in Selected Fields, choose it and click Remove Field.

To remove all fields and add only one, click the table's drop-down arrow and choose the field you want from the list. That field replaces those in the Selected Fields list.

Change Order

To change the order of the fields in the list, choose the field you want to move and use the up and down Change Order arrows.

All changes you make in the Select Fields dialog box can be modified in the design window. You can replace removed fields there using the Field tool. The Select Fields dialog box gives you the opportunity to make choices before opening the design window.

See Also

Single-table Design Layout dialog box


Page Setup

The default report page size is 8 1/2 inches wide by 11 inches long.

To change the page dimensions, its margins, and whether the design is for the printer or the screen, choose Report | Page Layout in the Report Design window.

Note:	You can also change the page layout from the Layout Specifications dialog box (choose Design | Design Layout), but this causes a complete design change.

See Also

Page Layout dialog box


Page Layout Dialog Box

Use the Page Layout dialog box to specify page layout for printing the document or displaying it onscreen. To open the Page Layout dialog box, either

Choose OK in the Data Model dialog box.

Choose Page Layout in the Design Layout dialog box.

When you design for your printer, the fonts used are those supported by your current printer. What you see onscreen is a "best match" to the printer fonts. This means that the screen fonts might not match the printer fonts exactly in height or width. Size-to-fit objects choose their sizes based on the printer font sizes. Onscreen, this might cause clipping or text objects that seem to wrap too soon, but on paper they will look right. Be careful, when designing for a printer, that you do not cause unwanted clipping by sizing objects to a screen font.

Dialog Box Options

Design For

Choose Printer or Screen. The custom sizes you specify in the other panels refer to this choice.

Orientation

Choose Portrait or Landscape to change the way the final document prints on the page. (Paradox shows you a sample of the selected page orientation.)

Orientation is unavailable when you're designing for screen.

Paper Sizes/Screen Size

Choose one of the standard sizes. Paper Sizes are those your printer supports; they are available when you're designing for printer. Screen size is the size Paradox detects for your current screen driver; it is available when you're designing for screen.

Custom Size

Specify a non-standard size, to design a larger or smaller document. Units are those specified in the Units panel.

Units

Choose the units for custom size.

Margins

Change the margins by typing the numbers you want here. Units are those specified in the Units panel.

Note:	To change the page layout in a report, choose Report | Page Layout from the Report Design window instead of accessing the Page Layout dialog box through the Design Layout dialog box. When you use the Design Layout dialog box, Paradox overwrites any changes to the design you may have made in the Report Design window.


Designing Reports From Forms

Suppose you've designed a form you really like. If you want, you can open the form as a report.

To design a report from a form, choose File | Open | Form. The Open Document dialog box appears. Choose the form you want to use. In the Open As panel, click the drop-down arrow and choose Report. When you choose OK, Paradox creates and opens a new report based on the contents of the form.

Paradox uses the form's layout in the record band of the report. The existing form remains untouched.

Some objects behave differently in forms and reports.

Calculated and summary fields look at data differently in forms and reports, so you might need to modify them to get the correct results.

Some non-nested form design layouts are not valid for reports.

If you use a multi-page form, Paradox inserts page breaks at the appropriate places in the record band.

Buttons are not available in reports.

Crosstabs are not available in reports.

Graphs created on the master table will become undefined.

See Also

Open Document dialog box


Using Bands in Reports

Paradox uses bands to control how sections of your reports repeat. Bands run horizontally across the page and define logical sections for your report.

When you design a report, Paradox automatically places the page, report, and record bands for you. You cannot remove these three bands, although you can choose to leave them blank and collapse their height.

Reports contain four types of bands: report bands, page bands, record bands, and group bands.

The report band appears once in report. The header appears at the beginning of the report and the footer appears at the end.

The page band appears once for each page. The header appears at the top of each page and the footer appears at the bottom.

The record band appears once for each record in the master table. If the record band contains a table or a multi-record object, it appears once for every set of records in the master table. (This is all records in the table if Include All Data is on and you have no group bands.)

Group bands define sets of records based on certain criteria. They appear once for each set, or group, of records. You define the group criteria.

You can toggle the band labels off or on using Properties | Band Labels. Leaving the labels on makes it easier to see and manipulate bands. But you can turn them off to see how bands look next to each other or to measure them against the ruler.

Choose Report | Add Band to add a group band. Or click the Add Band SpeedBar button.

See Also

Selecting a band

Report bands

Page bands

Record bands

Group bands

Band properties

Resizing bands


Report Bands

The report band defines the report header and report footer area of your report. Paradox prints the report header once at the beginning of the report, and the report footer once at the end of the report.

The report header can come either before or after the page header on the first page. Inspect the report band and make sure Precede Page Header is checked. The report footer always precedes the page footer on the last page.

Typical information found in a report header would be the company letterhead or report title. A report footer might be an "end of file" statement. You place the objects you want to appear as report headers or footers in the appropriate report band.

Summaries placed in the report header or footer summarize the entire table.

See Also

Selecting a band

Using bands in reports

Page bands

Record bands

Group bands

Band properties

Resizing bands


Page Bands

The page band defines the header and footer areas of each page. Paradox prints the page header and footer you define on every page of the report. You can suppress the page header or footer from the first page of your report: Inspect the header or footer and make sure Print on First Page is not checked.

Typical page band fields include the title of the report, the page number, and date. Paradox places these three values in the page band by default. You can choose to keep, delete, or change them.

Fields placed in the page header show the first record in your page. Fields placed in the page footer show the last record on your page. Summaries summarize all records that appear on the page.

See Also

Selecting a band

Using bands in reports

Report bands

Record bands

Group bands

Band properties

Resizing bands


Record Bands

The record band contains the body of the report--the records of the table you're reporting on.

Fields, graphs, multi-record objects, and table frames are data elements. They contain the data from your table and appear in the record band.

If the record band contains a table or multi-record object on the master table, it appears once for every set of records in the master table. (This may be all records in the table if Include All Data is on and you have no group bands.) Otherwise, the record band repeats once for every record in the master table.

Summaries on the master table placed in their record band have, as their scope, all the records in one occurrence of the band.

See Also

Selecting a band

Using bands in reports

Report bands

Page bands

Group bands

Band properties

Resizing bands


Group Bands

In Paradox you can place optional group bands in a report. Use group bands to break your information into groups of data. You can base groups on the value of a field, a range of values, or a specified number of records.

You can place group bands only between the page band and the record band.

To create a group band

Choose Report | Add Band or click the Add Band SpeedBar button. The Define Group dialog box opens.

Paradox places the group immediately surrounding the record band. You can then move it anywhere in the priorities of your grouping criteria. When you create a group band that groups by a field, Paradox automatically places a field object for that field in the header of the new group. If you do not want this field, just delete it.

The group header appears at the start of every group. The group footer appears at the end of every group. You can also make the group header appear at the start of every page for which the group is being continued from the previous page.

Fields in the group header show the first field in the group. Fields in the group footer show the last field in the group. Summaries in the group band use the entire group as their scope.

To rearrange group bands

Select the band, then drag it to its new location. You can drag from anywhere within the band. You must use the mouse to drag a band.

To delete a group band

Select the band, then press Del. Group bands are the only type of band you can delete.

See Also

Define Group dialog box

Grouping by field

Selecting a band

Using bands in reports

Report bands

Page bands

Record bands

Band properties

Resizing bands


Grouping by Field

When you group data in a report by the value of a field, you apply a sorting specification to your data. If, for example, you group on the Country field of Customer, the records from Customer appear in the report sorted by the values in their Country field.

You can also group by a range of values on a field, or by a number of records.

Tip:	You can place two group bands on a report to use a field or range grouping in combination with a number of records grouping.

See Also

Using multiple group bands

Using bands in reports

Group bands

Define Group dialog box


Using Multiple Group Bands

You can create more than one group band. You should add group bands so that the largest data group is above all smaller data groups. For example, group by Country first, then by City, then perhaps by Zip Code. Start with the broadest category, then narrow the grouping.

You can rearrange group bands using the mouse. Select the band, then drag it to its new location. You can drag from anywhere within the band. The effect of moving a band is to change the order of the grouping.

Group bands are the only type of band you can delete. Delete a group band by selecting it and pressing Del.


Band Properties

To see a band's properties, inspect (right-click) anywhere in the band area, including the band label.

When using the keyboard, you can use Tab to select the band you want, then choose Properties | Current Object or press F6 to display the band's menu.

Precede Page Header	Available only on report headers. You must have Band Labels checked (Properties | Band Labels) to inspect the report header. When Precede Page Header is checked, the report header appears above the page header on each page of the report. Otherwise, the report header appears after the page header.

Print on First Page	Available only on Page Bands. When this option is checked, the contents of the page band appears on the first page of the report. You can set this separately for the page header and footer.

Run Time	Choose how you want the bands to display when you run the report:

Breakable: Choose this if you want the contents of the band to break at page breaks. Turn this option off to keep the band contents together on the same page.

Shrinkable: Choose this if you do not want whitespace left at the bottom of the page to repeat on the next page. This can cause confusing page summaries because part of the band is on a page even though you cannot see it.

Move Grid to Band	Choose this if you have Properties | Show Grid turned on and want the grid to orient itself at the top left corner of the band, rather than the top left corner of the Report Design window.

See Also

Using bands in reports

Resizing bands

Group band properties


Group Band Properties

The group band has some unique properties:

Redefine Group	Choose this to change the group definition. Paradox displays a listing of all fields of the table you are reporting on. You can choose the field you want or click the top of the list to open the Define Group dialog box with the current group definition entered. Change the definition and choose OK to redefine the group.

Headings	Choose the type of headings you want:

Page and Group: Choose Page and Group to print the group heading at the beginning of each group and at the top of a page when the group continues across page breaks. If you choose Page and Group, you can place individual objects in the group heading.

Goup Only: Choose Group Only to print the group heading at the beginning of each group, but not at the top of a page when the group continues across page breaks.

Sort Order	Choose Ascending to print the groups in A to Z or numeric order (dates earliest to latest). Choose Descending to print the groups in the reverse order.

Run Time	Choose how you want the bands to appear at run time:

Breakable: Choose this if you want the band contents to break at page breaks. Turn this option off to keep the band contents on the same page.

Shrinkable: Choose this if you do not want whitespace left at the bottom of the page to repeat on the next page. This can cause confusing page summaries, because part of the band is on a page even though you cannot see it.

Move Grid to Band	Choose this if you have Properties | Show Grid turned on and want the grid to orient itself at the top left corner of the band, rather than the top left corner of the Report Design window.

See Also

Using bands in reports

Group bands

Band properties

Define Group dialog box


Resizing Bands

Paradox automatically places the page, report, and record bands for you. You cannot remove these three bands. If you choose not to use any of them, leave them blank and resize them to be closed. You can add or remove whitespace in your report by resizing the bands.

You must use the mouse to resize bands. There is no keyboard equivalent to clicking and dragging.

To resize a band,

1.	Select the band.

2.	Drag the top or bottom edge of the band up or down to add space.

Header bands (report, page, or group)

To change space	Drag

Above objects in band	Band label bar up or down

Below objects in band	Bottom edge of band up or down

Record bands

To change space	Drag

Above objects in band	Top record band up or down

Below objects in band	Bottom record band up or down

Footer bands (report, page, or group)

To change space	Drag

Above objects in band	Top edge of band up or down

Below objects in band	Band label bar up or down

Tip:	For some users, it is easier to watch the resizing action when Properties | Designer | Outlined Move/Resize is off. Whether this will work for you depends on your hardware. Experiment with this to see if the resizing action appears clearer.

See Also

Using bands in reports

Selecting a band


Selecting a Band

When resizing, first select the band you want to resize. Dragging the bar between bands gives different results, depending on which band you select.

To select a band, either

Click the bar that contains the band label.

Click any white (or unused) area inside the band.

Which band is selected?

There are three ways to tell which band is selected.

If Properties | Band Labels is checked, you'll see the selected band's label change color.

In the sidebar along the left side of the Report Design window, the selected band (and any bands within it) is highlighted.

The right side of the status bar at the bottom of the Desktop tells which band is selected.

Where can I drag?

The pointer changes to the shape of a two-headed arrow when you pass it over the part of the band that you drag to resize. You can drag up or down on either the top or bottom border of the band area.

See Also

Using bands in reports

Band properties

Resizing bands


Summaries

A summary is a powerful type of calculation in forms and reports. Use summaries to sum, average, count, and perform other statistical functions quickly and easily. You can also do this with a calculated field, but it is more efficient to use a summary.

Some of the more common summaries are

Function	Meaning	Use with

SUM	Sum of values	Number data types

AVG	Average of values	Number data types

STD	Standard deviation	Number data types

VAR	Variance	Number data types

MIN	Minimum value	Alpha, number, currency, date, and short number

MAX	Maximum value	Alpha, number, currency, date, and short number

FIRST*	First value	All data types

LAST*	Last value	All data types

PREV*	Previous value	All data types

COUNT	Number of values	All data types

* Not available in forms

When you create a report, you can choose from three types of summaries:

A normal summary considers all non-null values in the set, including duplicates.

A cumulative summary keeps a running total that extends from the start of the report to the end of the current group.

A unique summary counts only the unique non-null values in the set. Duplicates are ignored.

See Also

Defining a summary

Types of summaries

Defining the scope of a summary

Creating a count summary in a report

Using calculated fields

Using field names in calculations


Defining a Summary

A summary performs specific calculations on a specific set of values in a table.

To define a summary,

1.	Inspect the field you want to perform the summary operation on, and choose Define Field from its Properties menu.

2.	Click the top of the menu of available fields. The Define Field Object dialog box opens.

3.	Click the drop-down arrow for the table and choose the field you want to perform the summary operation on.

4.	Click the drop-down arrow in the Summary area to display available summaries. Choose the summary you want.

5.	Choose OK.

The set of records the summary is made over (the scope) is determined by the location of the summary field in your report.

In a table frame, the scope of the calculation is over all records in the table (if it is a detail table, over all records in the detail set).

In a report band (either the header or the footer area) the scope of the calculation is all values contained by the report band---all values for the table.

In the page band (either the header or the footer area) the scope of the calculation is all values contained by the page band---all records of the table.

In a group band (either the header or the footer area), the scope of the calculation is all values contained by the group band---all records for the group.

See Also

Summaries

Types of summaries

Define Field Object dialog box


Types of Summaries

When you create a report, you can choose from three types of summaries. These options appear below the drop-down list of summary operators in the Define Field Object dialog box:

Normal

Consider all non-null values in the set, including duplicates.

Unique

Look only at unique non-null values in the set. Ignore duplicates.

Using a unique summary to perform a Sum or Avg function does not yield true results because some values (duplicates) are not considered when the operation is performed.

A common use of a unique summary is to count all unique values in a set. For example, how many different kinds of items does a certain customer order? Or how many zip codes are in the state of Utah?

Cumulative

Summarize from the beginning of the report to the end of the current set, instead of from the beginning of the current set to the end of the current set.

See Also

Summaries

Defining a summary

Define Field Object dialog box

Defining the scope of a summary


Defining the Scope of a Summary

A summary performs a calculation on a set of records. Before you can sum the set (add all values together), count the set (find how many values there are) or average the set (find what the average of all values is), or perform any other operation, you must define the set. In reports, the scope of the summary defines the set. It specifies what values you want the summary to operate on.

Both the report's data model and the placement of the summary field in the report design determine the scope of a summary.

Report bands group data like this:

Group bands are optional, and you can create more than one group.

See Also

Summaries

Defining a summary

Summaries on single-table reports

Summaries on multi-table reports


Summaries on Single-Table Reports

When placing summaries in a single-table report, keep these rules in mind:

Corresponding band headers and footers calculate to the same value. This means you can place a summary in either the report header or report footer and get the same result. Likewise, a calculation in either the page header or page footer yield the same result.

If you place a summary in the report band (either the header or the footer area), the scope of the calculation is all values contained by the report band---all records for the table.

If you place a summary in the page band (either the header or the footer area), the scope of the calculation is all values contained by the page band---all records on the page.

If you place a summary in a group band (either the header or the footer area), the scope of the calculation is all values contained by the group band---all records for the group.

If you place a summary in a record band, it will behave differently in different situations:

In a report without a group band, Paradox performs the summary on all records in the table.

In a report with a group band, Paradox performs the summary on all records in the group.

In a tabular or multi-record report with the Run Time | Show All Records property of the table frame (or multi-record object) unchecked, Paradox performs the summary on the number of records that fit in the table frame or multi-record object. In this case the table frame or multi-record object acts like a band defined as a number of records.

See Also

Summaries

Defining a summary

Defining the scope of a summary

Summaries on multi-table reports


Summaries on Multi-Table Reports

Summaries on master records in multi-table reports

When you place a summary field on the master table of a multi-table report, the scope of the summary is the innermost group of data.

Note:	When working with a 1 [image] 1 or M [image] 1 data model, Paradox joins the two tables in the data model before performing the summary.

When you place a summary field in the record band of a 1 [image] M report, the summary can calculate only on the current record of the master table. In this case, the current master record behaves like a group band, grouping the detail records.

Summaries on detail records in multi-table reports

When placing summaries on the detail table of a multi-table report, the record, page, and group band rules stated earlier remain true. Additionally, keep these rules in mind:

If you place a summary in the record band, Paradox performs the summary on all detail records of the current master records.

If you embed a summary within a table frame or multi-record object defined as the master table, Paradox performs the summary on each record of the master table.

Note:	In the data model Customer [image] Orders [image] Lineitem, you cannot create a summary of each customer's lineitems---only of each order's lineitems. Paradox can move only one level up in the data hierarchy when performing a summary.

Summaries on unlinked tables in multi-table reports

When placing a summary on an unlinked table in a multi-table report, the sum is performed for the whole table.

See Also

Summaries

Defining a summary

Defining the scope of a summary

Summaries on single-table reports


Creating a Count Summary in a Report

Suppose you want to know how many customers you have in each country. You could define a summary by following these steps:

1.	Create a group band on the Country field of Customers.

2.	Inspect the country placed automatically by Paradox and choose Define Field.

3.	Click the menu title bar to display the Define Field Object dialog box.

4.	Choose the Customer No field from the Customer table's drop-down list.

5.	Check Calculated.

6.	Choose Count from the Summary drop-down list.

The message "Count(CUSTOMER.Customer No)" appears in the text box at the top of the dialog box.

7.	Choose OK.

Paradox returns you to the Report Design window, where the field object shows its new definition. The count summary and the Country field are contained in a text object.

Tip:	When defining a count, it's a good idea to count the values of a table's primary key field. Because a primary key field must contain data, you'll be sure of getting an accurate count.

When you print or preview the report, Paradox looks at the set of values the group band defines (the values in the record band). It performs the calculation defined by the summary and returns a value.

In the example of the count-by-country summary, Paradox looks at the record band for each group and returns the number of records in that band.

See Also

Using bands in reports

Group bands

Define Field Object dialog box

Summaries

Defining the scope of a summary


Using Calculated Fields

You can create a calculated field from the Define Field Object dialog box. Simply check Calculated and type the calculation you want into the text box below the Calculated check box.

You can create calculations that use

Regular field values

Object values

Numeric constants

Alphanumeric strings

Certain ObjectPAL commands

Anything that could be the right side of an assignment statement in ObjectPAL can be a calculated field value.

Using the calculated fields, you build formulas to generate the results you want.

Calculated fields follow the same scoping rules as summary fields.

Regular field references or summaries follow the same scoping as for fields.

Object values take their scope from the location of the object whose value is used, not the location of the calculated field.

You can summarize only a direct field reference in a calculated field. SUM (object) and SUM (orders.quant * orders.price) are illegal.

See Also

Summaries

Defining the scope of a summary

Define Field Object dialog box

Using field names in calculations

Calculating with regular fields

Calculating with summary field values

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Using Field Names in Calculations

To use a field name in a calculation, choose the field you want from the table's drop-down list. The field name appears in the text box at the top of the dialog box. Choose Copy Field to place that field in the text box below the Calculated check box. In addition to the field name, you see the directory alias (if any) of the table and the table name. This points to the exact location of the field you want to use in the expression.

Note:	There is a difference between the field object you use in your design and the actual field of a table that the field object represents and contains. It's important to remember this when using field names in calculations. For example, the following expression tells Paradox to perform the calculation on the field objects named Qty and Price.

Qty * Price

The next expression performs the calculation on the actual Qty and Price fields in the Lineitem table.

[Lineitem.Qty] * [Lineitem.Price]

See Also

Summaries

Using calculated fields


Calculating with Regular Fields

A common use of a calculated field is to calculate values of two or more fields from a table. For example, you can create a field object in a report on Lineitem, and define it as a calculated field that contains the formula

[Lineitem.Qty]*[Lineitem.Selling Price]

The value for a record in this calculated field is the product of the values of the Qty field and the Selling Price field.

See Also

Using field names in calculations

Calculating with summary field values

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Calculating with Summary Field Values

In reports you can perform calculations on the values generated by summaries. For example, you could define a table object for the Orders table, then create a summary field (called Total Due) to Sum the Balance Due field. You would then know the total owed. Suppose a new policy requires you to charge each customer $5 if they have an outstanding balance. You could create the formula

[Orders.Total Due] + 5

When you run the report, Paradox adds all the values in the Balance Due field for each customer, then adds 5 to the total.

Note:	Although you can perform calculations on summary fields, you cannot perform summary operations on calculated fields. The following formula is not allowed.

Sum ([Lineitem.Selling Price] * [Lineitem.Qty])

See Also

Using field names in calculations

Calculating with regular fields

Calculating with a field and a constant

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Calculating with a Field and a Constant

You can use calculated fields in forms and reports. For example, if you want to show the selling price of line items after you raise all prices by 25%, construct the formula

[Lineitem.Selling Price] * 1.25

The Selling Price field shows the current price, and the calculated field shows the price after the proposed increase.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with summary field values

Calculating with alphanumeric strings

Calculating with ObjectPAL methods


Calculating with Alphanumeric Strings

You can use the + operator to combine alphanumeric strings. Suppose you want to create a field called Address that combines the values of the Street, City, State, and Zip/Postal Rt fields for the Customer table. You could create the formula

[Customer.Street] + [Customer.City] + [Customer.State] + [Customer.Zip/Postal Rt]

The values from these fields are combined into the one calculated field.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with summary field values

Calculating with a field and a constant

Calculating with ObjectPAL methods


Calculating with ObjectPAL Methods

You can use certain ObjectPAL methods as part of your field calculations. Most methods that involve numeric or alphanumeric strings are available in calculated fields.

Anything that could be the right-hand side of an assignment statement (x=y) in ObjectPAL can be a calculated field value.

You can also use the conditional statement iif to return specific values when certain conditions are true.

See Also

Using field names in calculations

Calculating with regular fields

Calculating with summary field values

Calculating with a field and a constant

Calculating with alphanumeric strings

iif


Table Window Commands

In the Table window, the Table, Record, and Properties menus appear on the menu bar.

The File, Window, and Help menus do not change.

See Also

Table menu

Record menu

Properties menu

Using Edit commands in a Table window

Common menu commands

Table window tasks


Table menu

Table | Field View

Table | Edit Data

Table | End Edit

Table | Order/Range

Table | Show Deleted

Table | Strict Translation

Table | Quick Form

Table | Quick Report

Table | Quick Graph

Table | Quick Crosstab

Table | Empty

Table | Info Structure

Table | Rename

Table | Restructure

Table | Sort

Table | Notify On


Table | Field View

Use Table | Field View to:

Place the insertion point between characters in an alphanumeric, number, currency, short number, date, or other non-BLOB field

Select part of a field instead of the whole entry

Zoom memo, formatted memo, graphic, and OLE fields to the size of the Table window

When Field View is checked, whatever you type is entered at the insertion point and does not overwrite the rest of the field.

Choose Table | Field View again to uncheck Field View.

Shortcut key  F2


Table | Edit Data

Choose Table | Edit Data to enter data in a table.

In Edit mode, records are automatically locked and unlocked as you edit them. This prevents one user from deleting or changing the same record at the same time as another user.

In Edit mode, changes are saved automatically every time you move to another record.

Choose Table | End Edit or press F9 when you're through entering data.

Shortcut key  F9


Table | End Edit

Choose Table | End Edit when you're through entering data in a table. The Table window stays open.

Shortcut key  F9


Table | Order/Range

Choose Table | Order/Range to display the Order/Range dialog box where you can set a filter for the records you want to display.

Suppose you want to view a keyed table in a different order than that established by the primary index. You can use a secondary index to change the view. You can also specify a range of values in the index and tell Paradox you want to view only values in that range.

Order/Range can be established in a Form or a Table window. It is saved as part of a form's design, but not as a table property. When table and form views conflict, Paradox uses the Order/Range setting on the first window opened.

When you use the Order/Range dialog box on a dBASE table, the vertical scroll bar thumb always appears in the center of the scroll bar. You can move it, to move through the table, but it will return to the center after you drag it.

The Order/Range command is available for Paradox tables only when they have a key defined.

See Also

Order/Range dialog box

Key fields


Order/Range Dialog Box

Use the Order/Range dialog box to set a filter for the table to view only the data that meets your specifications. To open the Order/Range dialog box, choose Table | Order/Range (or Form | Order/Range).

Dialog Box Options

Index List

Choose the index you want to use.

For a dBASE table, the Index List area shows the contents of the table's .MDX file and the NO INDEX choice.To use an index that is not in the .MDX file, enter its name (including its .NDX or .MDX extension) in the Select dBASE Index File text box. The new index or tag names appear in the Available Indexes area the next time you open the Order/Range dialog box.

Field Values

The index you choose appears here and defines the viewing order of the table. It sorts records by field values, so Paradox can find them quickly.

To display only those records whose value matches exactly the value you specify, enter the value in the text box in the Field Values area. For example, if you have an index on the Country field of the Customers table, and you enter Canada as the value you want to match, Paradox displays only those records of the table with Canada as their Country value.

Set Range

When Set Range is checked, another text box opens so you can define the range of values you want Paradox to display. Enter the low value in the top text box and the high value in the bottom text box. Paradox does not recognize blanks as part of a match or range specification.

Match Partial Strings

Check Set Range and enter low and high values. Then check Match Partial Strings to tell Paradox you do not care what the full field value is, as long as it falls within that range. (Match Partial Strings is hidden until you check Set Range, and is available only if the table's index field is alphanumeric.)

Note:	Order/ Range cannot be saved as a table property, but can be saved as part of a form's design. When table and form views conflict, Paradox uses the Order/Range setting on the first window opened.

See Also

Table | Order/Range

Displaying specific ranges

Composite secondary indexes

Matching partial strings

Setting ranges on a composite index

Changing view order on dBASE tables


Table | Show Deleted

To see deleted dBASE records, choose Table | Show Deleted (or Form | Show Deleted). When you delete a record from a dBASE table, Paradox does not erase it from the table, but simply marks it as deleted.

In a Table window, Paradox displays deleted dBASE records marked by a box in the record number column.

In a Form window, when you view a deleted dBASE record the Desktop status area displays the words "Record deleted" after the table name.

You can recover deleted dBASE records. To do this, choose Record | Undelete or press Ctrl+Del while you're on the deleted record, in Edit mode, with Show Deleted checked. Undelete is available only when you've selected a deleted dBASE record.

To physically remove a dBASE record from disk, restructure the table and check Pack Table.

If you delete a significant number of records from a dBASE table, you might notice that the vertical scroll bar appears somewhat out of sync with the displayed data. This is because the scroll bar treats the table as if deleted records are still present, even if Show Deleted is unchecked.

Table | Show Deleted is available only for dBASE tables. When you delete a record from a Paradox table, it is erased from the table and cannot be recovered.


Table | Strict Translation

Choose Table | Strict Translation to limit available characters to the DOS character set supported by the table's language driver. These are characters common to both the OEM and ANSI character sets.

When Strict Translation is checked, you cannot move off a field where you've entered a character that is not a member of the table's DOS character set.

When Strict Translation is not checked, you can enter a character not in the set, but when you move off the field, that character changes to a character that does occur in the DOS character set supported by the table's language driver.

It is also possible that a table that has been edited with a DOS application may contain characters not found in the Windows ANSI character set. If you use Paradox for Windows to edit such a table with Strict Translation checked, a warning is issued whenever you enter Field View (in Edit mode) in a field containing non-ANSI characters. If you leave the field without editing, the characters are not changed; if you edit the field, the characters are converted to ones that are common to both the ANSI and OEM character sets.

See Also

Specifying a table language driver


Table | Quick Form

Choose Table | Quick Form to display the preferred form. If you have not identified a preferred form, or if your preferred form cannot be used for some reason, Paradox creates a default form.

Use the Table View command or SpeedBar button to return to the Table window, or press F7.

If you have already opened a quick form (or you entered a Table window by toggling from the form), this toggles you to its window.

When you toggle like this, Paradox tries to put you on the same record and field in the form as you were in the table. Similarly, when you toggle back, Paradox tries to keep you on the same record and field in the table as you were in the form.

Paradox does not move through the two windows at the same time: Moving in the form does not automatically update the table, and vice versa. If you click in the Table window to return from the form, you move back to the Table window, but Paradox will not move to the current record and selected field. You are on the field selected when you last worked in the Table window.

Shortcut key  F7

You can also click the Quick Form SpeedBar button.


Table | Quick Report

Choose Table | Quick Report to open the preferred report in a Report window, so you can preview it. To send the report to the printer, use Report | Print | Report or File | Print | Report or click the Print button.

If you have not identified a preferred report, or if your preferred report cannot be used for some reason, Paradox prints a default report.

Shortcut key  Shift+F7

You can also click the Quick Report SpeedBar button.

Note:	If your table contains long memo fields, it's a good idea to make a preferred report. Paradox's default report is tabular. Records in tables cannot be split over more than one page, so the data must fit on one page. Since this might not be the case for a long memo field, a single-record style report might be preferable. Or if you do not mind clipping your memo fields, you could use fixed-size records.

See Also

Report | Print | Report

File | Print | Report


Quick Report Button

To generate an instant report onscreen, click the Quick Report SpeedBar button. This is the same as choosing Table | Quick Report.

If you have not designated a preferred report or if the preferred report cannot be used, Paradox creates a standard report with its own default format.

Paradox does not send the report to the printer, but lets you preview it onscreen first. To send the report to the printer, use Report | Print | Report or File | Print | Report.

To specify a preferred report, choose Properties | Preferred | Report.

See Also

Report | Print | Report

File | Print | Report


Table | Quick Graph

Choose Table | Quick Graph to display the form containing the preferred graph. If you have not identified a graph or if your graph cannot be used for some reason, Paradox opens the Define Graph dialog box, where you can create a default graph. You can toggle between the graph and table just as you can with a Quick Form, but Paradox does not synchronize data.

Shortcut key  Ctrl+F7

You can also click the Quick Graph SpeedBar button.

Note:	The preferred graph is just a form with a graph in it.

See Also

Define Graph dialog box


Quick Graph Button

Click the Quick Graph SpeedBar button to generate a graph for the current image. This is the same as choosing Table | Quick Graph.

If you have a preferred graph, Paradox opens or toggles to a window for it (if it can). Otherwise, Paradox opens the Define Graph dialog box where you can create a graph.

To specify a preferred graph, choose Properties | Preferred | Graph.

Note:	The preferred graph is just a form with a graph in it.

See Also

Define Graph dialog box


Table | Quick Crosstab

Choose Table | Quick Crosstab to display the form containing the preferred crosstab. If you have not identified a preferred crosstab, or if your preferred crosstab cannot be used for some reason, Paradox opens the Define Crosstab dialog box where you can create a default crosstab. You can toggle between the crosstab and table just as you can with a Quick Form, but Paradox does not attempt to synchronize data.

You can also click the Quick Crosstab SpeedBar button.

Note:	The preferred crosstab is just a form with a crosstab in it.

See Also

Define Crosstab dialog box


Quick Crosstab Button

To generate a quick crosstab, click the Quick Crosstab SpeedBar button in a Table window. This is the same as choosing Table | Quick Crosstab.

When you choose Quick Crosstab, the Define Crosstab dialog box opens. Specify the fields whose values you want to use as the column headings, leftmost row categories, and summarized data. When you choose OK, Paradox calculates and generates the crosstab in a new Form window.

To specify a preferred crosstab, use Properties | Preferred | Crosstab.

See Also

What is a crosstab?

Using the Form Design window and Crosstab tool

Using the Define Crosstab dialog box

Define Crosstab dialog box


Table | Empty

Choose Table | Empty to empty all records from a table. Then you can reuse the structure, filling it with new records. An alternative is to borrow the table's structure to create a new table.

You get a warning when you choose Table | Empty that your table will be emptied. All data will be lost. Choose Yes to continue.


Table | Info Structure

Use Table | Info Structure to see a table's structure. You can view field types and sizes, as well as key, index, referential integrity, table language driver, password, and lookup information.

When you choose Table | Info Structure, Paradox opens the Structure Information dialog box. This dialog box displays, for viewing only, the same information that's in the Restructure Table dialog box.

See Also

Restructure Table dialog box


Table | Rename

Choose Table | Rename to change the name of a table you're viewing. The Rename dialog box opens.

Warning: Always use the Paradox Rename command to rename tables. Using the DOS RENAME command or the Windows File Manager might not rename all related files that make up a table.

See Also

Rename dialog box


Rename Dialog Box

Use the Rename dialog box to give the table you're viewing a different name. To open the Rename dialog box, choose Table | Rename in a Table window.

Dialog Box Options

From

Shows the name of the table to be renamed.

To

Type the name you want to give the table.

When you click OK, Paradox renames the table.


Table | Restructure

Choose Table | Restructure to change the structure of a table. You can change field types and sizes, as well as key, index, referential integrity, table language driver, password, and lookup information.

When you choose Table | Restructure, Paradox opens the Restructure Table dialog box.

See Also

Restructure Table dialog box


Table | Sort

Choose Table | Sort to sort the records of a table.

When you choose Table | Sort, Paradox opens the Sort Table dialog box, where you can specify your sorting preferences.

See Also

Sort Table dialog box


Table | Notify On

When Paradox is the server in a DDE link, Notify On controls when data is sent to the client application. If a Paradox field is linked to a spreadsheet cell through DDE, you have two options:

When Notify On is checked, the value in the spreadsheet is changed every time a new record is selected in the Paradox table.

When Notify On is not checked, data is sent to the client only if the client requests it.


Record Menu

Use commands on the Record menu to quickly find records in a table, and to insert, delete, or lock them. Record commands are available only when you're viewing data on a table. To use Insert, Delete, Lock, and Post/Keep Locked, you must be editing data.

You can also use the search buttons on the SpeedBar to go to particular columns or rows, or to search for a value in a column.

Choose:	To:

First	Find the first record

Last	Find the last record

Next	Find the next record

Previous	Find the previous record

Next Set	Find the next set of records

Previous Set	Find the previous set of records

Locate	Search by field, by record number, or by field value, as well as search for values and replace them

Locate next	Find the next occurrence of the value you last searched for

Insert	Insert a record

Delete/Undelete	Delete or undelete a record

Lock	Lock a record you're editing, then unlock it when you're through

Cancel Changes	Cancel changes to the current record, if you have not moved off that record

Post/Keep Locked	Hold a lock on a record even after you've posted (saved) its value

Lookup Help	Display the lookup table containing valid values for a field that has a table lookup

Move Help	Move a detail record to a new master record in either a 1 [image] M form or a referential integrity relationship

See Also

Record | Locate

Record | Locate Next

Record | Insert

Record | Delete/Undelete

Record | Lock

Record | Cancel Changes

Record | Post/Keep Locked

Record | Lookup Help

Record | Move Help


Record | Locate

Use the Locate commands on the Record menu to find records and values in a table. You can include wildcards in a search.

Choose:	To:

Field	Move to the field you specify

Record number	Move to the record number you specify

Value	Move to a field value you specify

and Replace	Replace the specified value with another value you specify

See Also

Locate | Record Number

Locate | Value

Locate | and Replace


Locate | Field

Choose Record | Locate | Field to move to a particular field of the table.

When you choose Record | Locate | Field, Paradox opens a dialog box where you can select the field you want and click OK.

See Also

Locate Field dialog box


Locate Field Dialog Box

Use the Locate Field dialog box to find a particular field in a very wide table. This feature is especially useful if you're working on a large table with many fields. It is sometimes faster than using the scroll bars or pressing Tab repeatedly.

To open the Locate Field dialog box, choose Record | Locate | Field in a Table window.

Dialog Box Options

Fields

The Fields list shows all the table's fields. Select the field you want, then choose OK to move to it (OK is dimmed until you choose a field).


Locate | Record Number

Use Record | Locate | Record Number to move to a particular record of the table.

When you choose Record | Locate | Record Number, Paradox opens a dialog box where you can type the number of the record you want.

The record number of a Paradox table is assigned automatically by Paradox and cannot be edited. It shows the record's position in the table.

See Also

Locate Record Number dialog box


Locate | Value

Choose Record | Locate | Value to move to a particular value in a field you identify.

When you choose Record | Locate | Value, Paradox opens a dialog box where you can type the value you want to find.

Shortcut key  Ctrl+Z

You can also use the Locate Field Value button on the SpeedBar.

See Also

Record | Locate Next

Locate Value dialog box


Locate Field Value Button

Click the Locate Field Value button to move to a particular value in a field you identify. This is the same as choosing Record | Locate | Value.

When you click Locate Field Value, Paradox opens a dialog box where you can type the value you want to find.

See Also

Record | Locate Next

Locate Value dialog box


Locate | and Replace

Choose Record | Locate | and Replace to locate and change a particular value in a field. You must be in Edit mode to use Locate | and Replace.

When you choose Record | Locate | and Replace, Paradox opens a dialog box where you can type the value to search for and the value to replace it with.

When Paradox finds the value, you can say yes to replace it, or no to move to the next occurrence.

If Paradox cannot find the value you entered, "Value not found" appears on the status line.

Shortcut key  Ctrl+Shift+Z

See Also

Locate and Replace dialog box


Record | Locate Next

Choose Record | Locate Next to search for the next occurrence of the value you last searched for.

Shortcut key  Ctrl+A

You can also use the Locate Next button on the SpeedBar.

Locate Next is unavailable until you choose Locate | Value and specify a value.

See Also

Locate | Value


Locate Next Button

Click the Locate Next button to search for the next occurrence of the value you last searched for. This is the same as choosing Record | Locate Next.

Locate Next is unavailable until you choose Locate | Value and specify a value.

See Also

Locate | Value


Record | Insert

Choose Record | Insert to insert a blank record above the selected record. You can also press Ins.

When you insert a record into a keyed table, then enter a value in it, Paradox automatically moves it to its proper position in the table. Records inserted in non-keyed tables stay where they are inserted.


Record | Delete/Undelete

Choose Record | Delete to delete the selected record from the table. You must be in Edit mode.

In a Paradox table, you cannot retrieve a deleted record, so be sure you want to delete the entire record before you choose Delete.

In a dBASE table, deleting a record does not immediately remove it. You can even choose to view deleted records by choosing Table | Show Deleted.

When you delete a record in a dBASE table, Record | Delete changes to Record | Undelete. To retrieve a deleted record from a dBASE table, make sure Table | Show Deleted is checked, then select any field in the record you want to restore, and choose Record | Undelete.

Shortcut key  Ctrl+Del


Record | Lock

Choose Record | Lock to place a lock on the record you are viewing. The Desktop's status bar tells you when you've locked a record.

Shortcut key  F5

You do not have to manually lock each record before making changes to it. Paradox locks a record automatically when you begin editing it. The message "Record is now locked" appears in the Desktop's status bar. Paradox removes the lock when you leave the record.

Locking is important if you use Paradox in a multiuser environment, or if you run two Paradox sessions simultaneously. When a record is locked, other users can view it but cannot edit or delete it.

If you're locked out of the record by another user, choose File | Multiuser | Display Locks to see who has locked the record.

After you lock a record, the Lock command changes to Unlock. You must unlock records before other users can access them. Choose Record | Unlock or press Shift+F5.

See Also

Locking records


Record | Cancel Changes

Choose Record | Cancel Changes to undo changes to the current record. After you move from the record, Cancel Changes is no longer available.

Shortcut key  Alt+Backspace


Record | Post/Keep Locked

Choose Post/Keep Locked to write your changes to the current record and move the record to its place in a keyed table. Other users can see it, but the record is locked so you can continue editing it.

Use Post/Keep Locked to make sure no key violation occurs before you fill in the rest of the record.

Shortcut key  Ctrl+F5


Record | Lookup Help

Choose Record | Lookup Help when you enter data in a field that has required values found in a lookup table.

When you choose Record | Lookup Help, the lookup table opens in a window where you can choose the value you want.

Shortcut key  Ctrl+Spacebar


Record | Move Help

Choose Record | Move Help to move a detail record to a new master record in either a 1 [image] M form or a referential integrity relationship.

In certain situations, you may have a record in one table that corresponds to a record in another table. This can happen

In a referential integrity relationship, where one record in a parent table is related to one or more records in a child table

In a multi-table form, where one record of the master table is related to one or more records in the detail table

In either of these kinds of relationships, you can use move help to move a dependent record from one master to a different master.

Shortcut key  Ctrl+Shift+SpaceBar

Example

For example, suppose you've linked Customer and Orders in a 1 [image] M relationship in a form. If you select a value in Customer No in the Orders table, then choose Record | Move Help (or press Ctrl + Shift + Spacebar), you see the Customer table in a dialog box. When you choose a value from the Customer No field in this lookup table, Paradox changes the Customer No value for the selected record, moving it to a different master.


Properties menu

Properties | Desktop

Properties | View Properties

Properties | Grid

Properties | Data

Properties | Heading

Properties | Preferred


Properties | Desktop

Use the Properties | Desktop dialog box to change the way your Desktop looks. To open the Properties | Desktop dialog box, choose Desktop from the Properties menu.

Dialog Box Options

Title

Type the title you want to appear on the Desktop title bar.

Background Bitmap

Type the name of a bitmap file or choose Find to select one from a list. Choose Center Bitmap to display the bitmap in the center of the Desktop, or choose Tile Bitmap to repeat the bitmap until it fills the Desktop.

Find

Choose Find to open the Select File dialog box, where you can choose another bitmap file for the Desktop's background..

SpeedBar

Check Floating to move the SpeedBar from its original position, then choose a 1 or 2 column/row format. To return the floating SpeedBar to its original position, choose Fix from its Control menu.

ObjectPAL Level

Choose the skill level you want when working with ObjectPAL:

Beginner	This level presents the most basic ObjectPAL methods, types, and constants. This subset of ObjectPAL is powerful enough to build full-featured applications, yet small enough to learn in a short time.

Advanced 	This level gives you more methods and procedures to use when you attach code to objects in forms and reports.

Note:	ObjectPAL code executes the same, regardless of the ObjectPAL level setting, so application developed with an Advanced level will run on a system with the level set to Beginner.

Paradox saves the changes you make to the Desktop in your PDOXWIN.INI file.


Properties | View Properties

Use the commands on the View Properties menu to save, restore, or delete the changes you've made to a table's view.

Properties | View Properties | Save

Properties | View Properties | Restore

Properties | View Properties | Delete


Properties | View Properties | Save

Choose Properties | View Properties | Save to save all the property changes you have made to a table, including property changes to individual fields. This saves the appearance of the table as you have changed it. Paradox saves data as it is entered, so File | Save and File | Save As are not necessary and are dimmed in the Table window.

Paradox saves the properties you define for a Paradox table in the .TV file, and the properties you define for a dBASE table in the .TVF file.

If you try to close a Table window without saving property changes, Paradox displays a dialog box asking if you want to save your changes.

Tip:	If you change properties, then change your mind about them, choose Properties | View Properties | Restore to restore your previous properties.

See Also

Properties | View Properties | Restore

Properties | View Properties | Delete

Saving changes to a view


Properties | View Properties | Restore

Choose Properties | View Properties | Restore to undo any property changes you have made to the Table window since they were last saved. If the properties have never been saved, Paradox restores the default view of the table. Paradox does not restore data.

See Also

Properties | View Properties | Delete

Properties | View Properties | Save


Properties | View Properties | Delete

Choose Properties | View Properties | Delete to delete a Paradox table's .TV file (or a dBASE table's .TVF file). When you delete a table's unique property file, Paradox uses default property settings.

See Also

Properties | View Properties | Restore

Properties | View Properties | Save


Properties | Grid

Choose Properties | Grid to display the Grid menu, where you can inspect or modify properties of the grid lines in a table.

Choose:	To:

Color	Specify a color for the table's background.

Grid Lines	Hide or display heading, column, or row lines. Choose line style, color, and spacing.

Current Record

Marker	Show or hide the current record marker, and to specify its line style and color.


Properties | Data

Choose Properties | Data to display the Data menu, where you can change the way the selected column displays data.

Choose:	To:

Data Dependent	Display data with different attributes depending on the values

Number Format	Change the format in which a number is displayed

Date Format	Change the format in which a date is displayed

Logical Format	Change the format in which a dBASE logical field type is displayed

Time Format	Change the format in which a time value is displayed

Timestamp Format	Change either the date or time format of a timestamp value

Complete Display	Control the display of BLOB memo fields

Magnification	Change the display size of a graphic or OLE object

Alignment	Position data in the cell

Color	Specify a background color for the selected column

Font	Specify typeface, size, style, and color for the text

The properties you see depend on the field type of the selected column.

See Also

Data Dependent Properties dialog box

Select Number Format dialog box

Select Date Format dialog box

Select Time Format dialog box

Select Logical Format dialog box


Properties | Heading

Choose Properties | Heading to display the Data menu, where you can change the properties of that heading.

Choose:	To:

Alignment	Position a column heading in the heading area

Color	Choose a color for the heading background

Font	Specify typeface, size, style, and color for the heading text


Properties | Preferred

Choose Properties | Preferred in a Table window to identify the documents you want to display when you click the buttons on the SpeedBar.

Choose	To identify

Form	The form to display when you click Quick Form or choose Table | Quick Form

Report	The report to use when you click Quick Report or choose Table | Quick Report or File | Print

Graph	The graph to display when you click Quick Graph or choose Table | Graph

Crosstab	The crosstab to display when you click Quick Crosstab or choose Table | Crosstab

If you do not identify a preferred file, Paradox creates a default document when you click a SpeedBar button or choose the corresponding menu command.

See Also

Choose Preferred Form dialog box

Choose Preferred Report dialog box

Choose Preferred Graph dialog box

Choose Preferred Crosstab dialog box


Choose Preferred Form Dialog Box

Use the Choose Preferred Form dialog box to specify the form you want to see when you choose Quick Form. In a Table window, choose Properties | Preferred | Form to open the Choose Preferred Form dialog box.

Dialog Box Options

File Name

Type the file name in the box or select one from the list. The form you choose must use as the master table either the table you're viewing or one with the same structure.

Path

Choose an alias or your private directory.

Type

Shows <Form>.

Browse

Choose Browse to see files in other directories in the Browser.

After you specify the path and file name, choose OK.

See Also

Browser


Choose Preferred Report Dialog Box

Use the Choose Preferred Report dialog box to specify the report you want to see when you choose Quick Report.In a Table window, choose Properties | Preferred | Report to open the Choose Preferred Report dialog box.

Dialog Box Options

File Name

Type the file name in the box or select one from the list. The report you choose must use as the master table either the table you're viewing or one with the same structure.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows <Report>.

Browse

Choose Browse to see files in other directories in the Browser.

After you specify the path and file name, choose OK.

Note:	The report you choose as a table's preferred report can be a multi-table report. In this case, the table must be the master table in the report's data model.

See Also

Browser


Choose Preferred Graph Dialog Box

Use the Choose Preferred Graph dialog box to specify the form containing the graph you want to see when you choose Quick Graph. In a Table window, choose Properties | Preferred | Graph to open the Choose Preferred Graph dialog box.

Dialog Box Options

File Name

Type the path and file name in the box or select one from the list. The graph you choose must use as the master table either the table you're viewing or one with the same structure.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows <Form>.

Browse

Choose Browse to see files in other directories in the Browser.

After you specify the path and file name, choose OK.

See Also

Browser


Choose Preferred Crosstab Dialog Box

Use the Choose Preferred Crosstab dialog box to specify the form containing the crosstab you want to see when you choose Quick Crosstab. In a Table window, choose Properties | Preferred | Crosstab to open the Choose Preferred Crosstab dialog box.

Dialog Box Options

File Name

Type the file name in the box or select one from the list. The crosstab you choose must use as the master table either the table you're viewing or one with the same structure.

Path

Use the Path list to choose an alias or your private directory.

Type

Shows <Form>.

Browse

Choose Browse to see files in other directories in the Browser.

After you specify the path and file name, choose OK.

See Also

Browser


Using Edit Commands in a Table Window

In addition to typing values in fields, you can cut or copy data from a field and paste into different fields. Or you can paste in data from other applications. Data you cut or copy to the Clipboard remains there until you change it, clear it, or exit Windows. The Clipboard provides temporary storage for data you want to move to a different location.

In a Table window, you can use only two of the Edit menu commands---Copy and Select All.

Choose:	To:

Undo	Undo all changes to the current record. This does not undo any changes you posted. You must choose Undo before leaving the record.

Cut	Delete a value from a selected field or fields in a table (or form) and place it on the Windows Clipboard.

Copy	Copy a value from a selected field or fields in a table (or form) and place it on the Windows Clipboard. In a Table window, you can copy more than one field at a time. When you make your selection, lines appear around the selected data.

Paste	Paste the contents of the Windows Clipboard into the selected field. Note: You can paste only a valid value into a field. For example, you cannot paste a graphic value into an alphanumeric field.

Paste Link	Establish a link using Dynamic Data Exchange (DDE) from another Windows application to your table.

Delete	Remove the value. Paradox does not place it on the Windows Clipboard.

Note: You can remove an entire record with Edit | Delete but not with Edit | Cut.

Copy To	Copy the current selection to an external file.

Paste From	Paste a value from an external file into the selected field.

Search Text	Search for text in memo fields and text objects.

Select All	Select all fields in the table (the entire table). Paradox places a box around the table.

See Also

Selecting multiple fields

Restructuring a table

Using Edit | Copy in tables


Using Edit | Copy in Tables

To copy data to the Clipboard, select the data you want and choose Edit | Copy. You can paste data you've copied to the Clipboard into other fields or other Windows applications.

To copy:	Do this:

Fields	Select a field, then choose Edit | Copy to copy the entire field value. To copy only a portion of a field's data, enter Field View and select the data you want. Then choose Edit | Copy. When using a Table window, you can copy more than one field at a time. When you make your selection, lines appear around the selected data.

Columns	Double-click the column heading to select the column, then choose Edit | Copy.

Rows	Double-click an unselected record number. (If the record number is selected when you double-click, you enter Field View.)

Multiple

field values	Either choose Edit | Select All followed by Edit | Copy (this copies all the values in the table to the Clipboard), or drag over the specific fields you want to select and choose Edit | Copy.

Note: You can copy multiple field values only in a table, not in a form. You cannot paste multiple field values back into a table. You can, however, paste them into any other application which accepts them (for example, Quattro Pro for Windows).


Tables

A table is the fundamental Paradox object. Although you can view data in tables, forms, reports, graphs, or crosstabs, and you can enter and modify data in tables or forms, remember Paradox stores all data in tables.

See Also

Table window tasks:

Creating tables

Viewing tables

Changing data

Referential integrity

Restructuring tables

Utilities

Table window commands


Creating Tables

Creating a new table

Specifying table type

Specifying the fields of a table

Create Paradox Table dialog box

Create dBASE Table dialog box

Specifying field names

Field types

Defining key fields

Key fields

Composite key fields

Rearranging fields and effects on key fields

Naming a new table

Borrowing a Paradox table structure

Borrowing a dBASE table structure


Creating a New Table

To create a new table from the Desktop,

1.	Choose File | New | Table. Or right-click the Open Table SpeedBar button, and choose New.

Paradox opens the Table Type dialog box.

2.	If you want a table type other than Paradox for Windows, click the arrow next to the list box and select one from the drop-down list.

3.	Choose OK.

Paradox opens the Create Table dialog box, where you can specify the structure of the new table. In this dialog box you can

Name the fields of the table

Specify field types and sizes

Assign a key to the table

Define validity checks for individual fields

Specify a table language

Assign secondary indexes to the table

Establish a table lookup to another table

Establish referential integrity with another table

Specify password security for the table or individual fields

After you save the structure, you can enter data in your new table.

See Also

Table Type dialog box

Create Paradox Table dialog box

Create dBASE Table dialog box

Restructuring a table

Table structure:

Specifying the fields of a table

Specifying field names

Changing field types

Valid Paradox field types

Valid Paradox 3.5 field types

Valid dBASE field types

Table properties:

Validity checks

Table lookup

Secondary indexes

Defining referential integrity rules

Establishing password security

Specifying a table language driver


Specifying Table Type
Specifying The Table Type

Use the Table Type dialog box to specify a type for a new table. To open the Table Type dialog box, choose File | New | Table from the Desktop.

1.	The default table type is Paradox for Windows. To specify another table type, choose one from the Table Type drop-down list box

2.	Choose OK.

Specifying the table type determines

The extension of the table's name.

Tables from which you can borrow a structure.

Some rules about the table's structure, such as valid field names, types, sizes, and the rules for specifying key fields. For example, Paradox permits spaces and punctuation in names, while dBASE does not.

In choosing a table type, consider the features you will need:

dBASE offers the Logical field type, while Paradox does not.

Paradox offers validity checks, referential integrity, and table lookup, while dBASE does not.

Paradox tables refresh only when the data is changed.

Paradox has sequence numbers while record numbers in dBASE might not correspond to the sequence numbers in the table.

Paradox has formatted memos, graphic fields, and OLE fields.

See Also

Validity checks

Table Type dialog box

Borrowing a Paradox table structure

Borrowing a dBASE table structure


Table Type Dialog Box

Use the Table Type dialog box to specify the kind of table you want to create. You can choose any Paradox and dBASE table type on the drop-down list.

To open the Table Type dialog box, choose File | New | Table from the Desktop. Or right-click the Open Table SpeedBar button, then choose New.

See Also

Specifying table type

Creating a new alias


Specifying the Fields of a Table

Use the Create Table dialog box to specify table structure.

1.	To open the Create Table dialog box, choose File | New | Table from the Desktop. Or right-click the Open Table SpeedBar button, then choose New.

2.	In the Table Type dialog box, select a Table Type from the drop-down list.

3.	Specify fields in the Field Roster area of the Create Table dialog box. Specify one field on each line. For each Paradox field, specify the

Field Name: Required for every field

Type: Required for every field

Size:Table type determines which fields require this

Key (optional): Table type determines rules for Paradox key fields.

Note:  When you're creating a dBASE table, this column is the Dec column, where you specify the number of decimal places for number or float number fields.

You can move among the columns of the Field Roster by pressing Tab, Shift+Tab, Enter, or the arrow keys, or using the mouse. Paradox automatically skips over any columns which are not required. The current field (row of the structure table) is the one where the highlight appears. Certain operations outside the field specification area, such as defining validity checks, refer to the current field.

To delete a field

Place the insertion point in the Field Number column and press Ctrl+Del. Paradox deletes the entire row.

If you do not want to delete a whole row, place the insertion point in the column whose value you want to delete and press Backspace or select the field and begin typing. Paradox overwrites the previous value.

To insert a field

Select the field above which you want to insert the field and press Ins. Paradox opens a blank row, ready for you to type the field name.

To edit a field name

Position the insertion point anywhere in the field name, then edit as you normally would. Or select the whole field name and type a new name over the existing one.

To reorder fields

Click the row number of the field and drag it to its new location.

Note:	Key field(s) must occur first in the table's structure.

See Also

Table Type dialog box

Restructuring a table

Specifying field names

Specifying field types

Defining key fields

Validity checks

Paradox:

Create Paradox Table dialog box

Valid Paradox field types

Valid Paradox 3.5 field types

dBASE:

Create dBASE Table dialog box

Valid dBASE field types


Create Paradox Table Dialog Box

Use the Create Paradox Table dialog box to specify the structure of a Paradox table. To open the Create Paradox Table dialog box, choose Paradox for Windows in the Table Type dialog box.

This dialog box has two main panels: Field Roster and Table Properties. You can move between them using the keyboard: Use the Super Tab key (F4) to move from Field Roster to Table Properties; to return, press Shift+Tab.

Dialog Box Options

Field Roster

Use the Field Roster to specify the fields of a table. You can add, delete, or rename fields, and change field types and sizes:

Field Name	Required for every field

Type	Required for every field

Size	Table type determines which fields require this

Key (optional)	Table type determines rules for Paradox key fields.

Note:  When you're creating a dBASE table, this column is the Dec column, where you specify the number of decimal places for number or float number fields.

Table Properties

Use the Table Properties panel to specify validity checks. You must have a valid entry selected in the Field Roster area because these properties refer to the current field:

Required Field	Every record in the table must have a value in this field.

Minimum	The values entered in this field must be equal to or greater than the minimum you specify here.

Maximum	The values entered in this field must be less than or equal to the maximum you specify here.

Default	The value you specify here will be entered in this field if the user does not enter another value.

Picture	You specify a character string as a template for the values that can be entered into this field.

Assist	The Assist button opens the Picture Assistance dialog box, where you can choose a predefined string to use as a picture, editing it if you want to.

You can also select one of the following properties from the Table Properties drop-down list box:

Table Lookup	Choose this, then choose Define to open the Table Lookup dialog box.

Secondary Indexes	Choose this, then choose Define to open the Define Secondary Index dialog box.

Referential Integrity	Chose this, then choose Define to open the Referential Integrity dialog box.

Note: You cannot specify Referential Integrity for Paradox 3.5 tables.

Password Security	Choose this, then choose Define to open the Password Security dialog box.

Table Language	Choose this, then choose Modify to open the Table Language dialog box.

Borrow

You can borrow another table's structure. Choose Borrow to open the Borrow Table Structure dialog box and choose from the list of tables. The Field Roster must be empty to borrow another table's structure.

Save As

Choose Save As to open the Save Table As dialog box, where you type a name for your new table. You can save it in the current directory or another one.

See Also

Creating a new table

Borrowing a Paradox table structure

Specifying the fields of a table

Restructuring a table

Rearranging fields and effects on key fields

Table properties:

Validity checks

Table lookup

Secondary indexes

Defining referential integrity rules

Establishing password security

Specifying a table language driver


Create dBASE Table Dialog Box

Use the Create dBASE Table dialog box to specify the structure of a dBASE table.To open the Create dBASE Table dialog box, choose dBASE in the Table Type dialog box.

This dialog box has two main panels: Field Roster and Table Properties. You can move between them using the keyboard: Use the Super Tab key (F4) to move from Field Roster to Table Properties; to return, press Shift+Tab.

Dialog Box Options

Field Roster

In the Field Roster, you specify the fields of a table. You can add, delete, or rename fields, and change field types and sizes:

Field Name	Required for every field

Type	Required for every field

Size	Table type determines which fields require this

Key (optional)	Table type determines rules for Paradox key fields.

Note:  When you're creating a dBASE table, this column is the Dec column, where you specify the number of decimal places for number or float number fields.

Table Properties

In the Table Properties panel, you define Indexes. Choose Define to open the Define Index dialog box. You must have a valid entry selected in the Field Roster, because these properties refer to the current field.

Borrow

You can borrow another table's structure. Choose Borrow to open the Borrow Table Structure dialog box and choose from the list of tables. The Field Roster must be empty to borrow another table's structure.

Record Lock

When you check Info Size, Paradox adds a hidden field to the table that shows when a record was locked and by whom. The amount of information you'll see when you encounter a locked field depends on the Info Size you specify. The default size is 16 characters. You can choose a size from 8 to 24 from the drop-down Info Size list box.

Note:	Record Lock is not available for dBASE III+ tables.

See Also

Creating a new table

Specifying the fields of a table

Borrowing a dBASE table structure

Indexing dBASE tables

Define Index dialog box

Creating the Record Lock field on a dBASE IV table

Restructuring a table


Creating the Record Lock Field on a dBASE IV Table

In a multiuser environment, each user can place record locks on a shared table. For example, if user JSMITH is editing record number 12 of Stock, user MBROWN cannot access that record until it's unlocked. This prohibits one user from unintentionally overwriting another user's work.

The dBASE table type gives you the Record Lock option to show you information about a locked record. If you check Record Lock, Paradox adds a hidden field to the table. This field shows you when a record was locked and by whom.

Note:	Although Paradox adds the Record Lock field to the table, you will not see it when you view the table. You see a record's Record Lock field only if you're locked out of that record.

Use the Create dBASE Table dialog box to create the Record Lock field for a dBASE table. Record Lock is not available for dBASE III+ tables.

The information you see when you find a locked field depends on the Info Size you specify. The Record Lock field can be from 8 to 24 characters. The default is 16.

The first two characters tell whether a user has changed the record.

The next three characters tell the time a user placed the lock.

The next three characters tell the date a user placed the lock.

The remaining 16 characters are optional. They tell the name of the user that placed the lock.

The default size of 16 displays the changed status of the record, the time and date of the lock, and the first 8 characters of the user who placed the lock.

See Also

Create dBASE Table dialog box


Specifying Field Names

Use the Create Table dialog box or the Restructure Table dialog box to specify field names.

1.	Choose File | New | Table from the Paradox Desktop.

2.	In the Table Type dialog box, select a table type from the drop-down list.

3.	In the Create Table dialog box, type the first field name in the selected field.

To add field names to your table specification, move the insertion point in the Field Name column just below the last existing field name and type a legal field name.

To add a field above an existing field, select the field and press Ins. Type the new field name in the highlighted row.

Note:	Paradox does not automatically place new fields on previously existing forms or reports. If you add a field to an existing table that has associated forms or reports, you must explicitly add the field to the form or report.

To move within the Field Roster, click a field or use Tab, Enter, or the arrow keys.

A vertical scroll bar appears in the field list if you enter more than 12 fields. As you select each column, a status message at the bottom of the dialog box prompts you for valid entries.

See Also

Rules governing Paradox field names

Rules governing dBASE field names

Create Paradox Table dialog box

Create dBASE Table dialog box

Table Type dialog box


Rules Governing Paradox Field Names

A field name cannot exceed 25 characters.

A field name cannot start with a blank space (unless it's enclosed in quotation marks), but it can contain blank spaces.

Each field name in a table must be unique. You cannot have two identical field names. You cannot make a name unique by

Adding a blank space at the end of the name

Changing the case of the name

A field name should not contain

"   [   ]   {   }   (   )   ->

You can use the pound sign (#) only with other legal characters, not by itself.

See Also

Specifying field names

Rules governing dBASE field names

Create Paradox Table dialog box


Rules Governing dBASE Field Names

A field name cannot exceed 10 characters.

A field name cannot contain blank spaces.

Each field name in a table must be unique. You cannot have two identical field names. You cannot make a name unique by

Adding a blank space at the end of the name

Changing the case of the name

See Also

Specifying field names

Rules governing Paradox field names

Create dBASE Table dialog box


Specifying Field Type
Specifying Field Types

Use the Create Table dialog box or the Restructure Table dialog box to specify field types.

To specify field type

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type the symbol for the field type or select from the drop-down list. You can use the list in two ways:

Right-click the Type column again and drag to select the field type.

Press Spacebar to see the list, then choose the field type.

See Also

Create Paradox Table dialog box

Create dBASE Table dialog box

Restructure Table dialog box

Valid Paradox field types

Valid Paradox 3.5 field types

Valid dBASE field types


Valid Paradox Field Types

The valid Paradox field types and sizes are

Symbol	Size	Type

A	1 - 255	Alphanumeric

N	Number

$	Currency

D	Date

S	Short Number

M	1 - 240*	Memo

F	Formatted Memo

B	Binary

G	Graphic

O	OLE

* Memo and formatted memo fields can be any length. The size value you specify in the Create Table dialog box refers to the amount of the memo (from 1 to 240 characters) Paradox stores in the table. Paradox stores the whole memo outside the table. For example, if you assign a size value of 45 to the field, Paradox stores the first 45 characters in the table. It stores the whole memo field in a file with the extension .MB, and retrieves it as you scroll through the table records.

Tip:	If all your memos are smaller than a given size (for example, 200 characters), you can save space and time by setting the memo field size equal to or larger than this size. Paradox stores the entire memo in the table if it is less than the given size.

See Also

Valid Paradox 3.5 field types

Valid dBASE field types

Create Paradox Table dialog box


Valid Paradox 3.5 Field Types

The valid Paradox 3.5 field types and sizes are

Symbol	Size	Type

A	1 - 255	Alphanumeric

N	Number

$	Currency

D	Date

S	Short Number

See Also

Valid Paradox field types

Valid dBASE field types

Create Paradox Table dialog box


Valid dBASE Field Types

The valid dBASE field types and sizes are

Symbol	Size	Decimal Point	Type

C	1 - 254	Character (alphanumeric)

F*	1 - 20	0 - 18, and <=Size - 2	Float (numeric)

N	1 - 20	0 - 18, and <= Size - 2	Number (BCD)

D	Date

L	Logical

M**	Memo

*Float fields are available only in dBASE IV tables.

**Memo field formats differ between dBASE III+ and dBASE IV tables.

See Also

Changing field types in dBASE tables

Valid Paradox field types

Valid Paradox 3.5 field types

Create dBASE Table dialog box


Paradox Alphanumeric Fields

Paradox alphanumeric fields contain strings consisting of

Letters

Numbers

Special symbols like %, &, #, or =

Other printable ASCII characters

Use the Create Table dialog box or Restructure Table dialog box to specify alphanumeric fields.

To define a field as alphanumeric

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type A in the Type column or press Spacebar and select Alphanumeric from the list.

You must specify a length from 1 to 255 for alphanumeric fields.

See Also

Creating a new table

Restructuring a table

Create Paradox Table dialog box

Restructure Table dialog box


Paradox Number Fields

Paradox number fields must contain only numbers. Number fields can hold positive or negative values. The range of values possible for a number field is from 1E-307 to 1E+308 with 15 significant digits. Use number fields when you plan to perform calculations on the values in the fields.

Use the Create Table dialog box or Restructure Table dialog box to specify number fields

To define a field as a number field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type N in the Type column or press Spacebar and select Number from the list.

Paradox provides six formats for entering and displaying numbers, or you can define your own custom format.

Tip:	It's a good idea to use an alphanumeric field rather than a number field for phone numbers or zip codes. In an alphanumeric field, you can include parentheses and hyphens.

See Also

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box

Predefined number formats

Changing number format

Select Number Format dialog box


Changing Number Format

To change the format in which a number is displayed,

1.	Inspect the number field in a Table window or in a design window.

2.	Choose Number Format to view a menu of predefined formats.

3.	You can either

Choose one of the formats to apply it to the selected number field.

Click the top of the menu to open the Select Number Format dialog box, if you want to define your own custom format.

See Also

Predefined number formats

Select Number Format dialog box


Predefined Number Formats

The Properties menu for a number field shows eight predefined formats you can choose from.

Choose:	To:

Windows $	Use the currency symbol and format you defined in the Windows Control Panel.

Windows #	Use the default number format from the Windows Control Panel.

Fixed	Display two decimal places. Trailing zeros are displayed. Thousand separators are not used. Negative numbers are preceded by a minus sign (-).

Scientific	Use exponential notation (with two decimal places), a decimal number from 1 to 10 multiplied by a power of 10. Negative numbers are preceded by a minus sign (-). Any number format uses exponential notation to display numbers that are too big to fit; Scientific format always uses it.

General	Display up to two decimal places if the number includes a decimal value. Trailing zeros and thousand separators are not displayed. Negative numbers are preceded by a minus sign.

Comma	Display two decimal places. Trailing zeros are displayed. Thousands are separated by a comma. Negative numbers are enclosed in parentheses.

Percent	Display numbers followed by the percent sign (%). For example, the value .5 is displayed as 50%. Thousand separators are not used. Negative numbers are preceded by a minus sign (-).

Integer	Display whole numbers only. Decimal values are rounded when you convert to the integer format. If you convert to a format that displays decimals, they are returned. Thousand separators are not used. Negative numbers are preceded by a minus sign (-).

To define your own number formats, click the top of the Number Format menu to open the Select Number Format dialog box. You can delete or change only custom formats, not formats provided by Paradox.

See Also

Changing number format

Select Number Format dialog box


Select Number Format Dialog Box

Use the Select Number Format dialog box to select, create, or change your number formats. Paradox adds the newly defined format to the list of existing number formats. You can then apply the new format to a number field by inspecting the field's properties and changing the number format.

To open this Number Format dialog box, inspect a number field, choose Number Format, then click the top of the Number Format menu. Or inspect an undefined field and choose Format | Number Format. When you click Create in this dialog box, its title changes to Create Number Format. When you click Change, its title changes to Change Number Format.

Note:	Where applicable, you can right-click the format options to get the default Windows Number or Currency settings. These are established by your Windows Control Panel.

Dialog Box Options

Format

Use these options to customize the number format:

Decimals	Choose the number of decimal places you want to display to the right of the decimal point. Type in or select from the drop-down list the number of places to display.

Decimal Point	Choose how you want to display a decimal point. Choose period or comma, or type in your own character.

Thousand

Separator 	Choose how you want to display a thousand separator. Choose comma, period, or space, or type in your own character.

Symbol	Choose the type of symbol you want displayed with the number. Available symbols include $, inch, lb, kg, cm, mi, and DM. Define your own symbol by typing it in the Symbol text box.

Spacing	Choose when to put a space between the number and the symbol that goes with it. You can specify that you want a space between the symbol and the number for all positive values, for all negative values, for all values, or for none. Select your choice from the drop-down list.

Positive	Choose from the drop-down menu where you'd like the plus sign (+) or other symbol for positive numbers to appear.

Negative	Choose from the drop-down menu where you'd like the minus sign(-) or other symbol for negative numbers to appear.

Leading Zeros	Choose the example with the number of digits you want to display before the decimal place. For example, if you enter the number 466 in a field that has Leading Zeros set to four, the number 0466 appears when you move off the field.

It is traditional to use alphanumeric fields for zip codes, because number fields remove leading zeros. If you entered the number 03031 in a number field, you'd see 3031 displayed. Using a number format with five leading zeros ensures that Paradox displays leading zeros in zip codes.

Scale	Select from this drop-down list if you want to display the number as a multiple of a power of 10. For example, if you enter 3 in the Scale text box, you see the example number multiplied by 1000.

Scientific Notation

Check this box to display numbers in exponential notation.

Show Trailing Zeros

Check this box to show digits to the right of the decimal point even when they are zero.

Operation:

Name	Specify an existing format or type in a name for your custom number format.

Note: An easy way to define a new format is to select an existing one similar to one you want (from the Existing Formats box), click Create or Change to make changes, then change the name of the format here before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent to save the number format permanently so you can use it whenever you use Paradox. If Permanent is unchecked, the number format is unavailable after you exit Paradox.

Create	Choose Create to open the Name text box where you can type in a name for your custom number format. When you click Create, the dialog box title changes to Create Number Format.

Change	Choose Change to modify a custom number format. Note: You can change only those formats you've created. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom number format. Note: You can delete only those formats you've created. The Delete button is dimmed when you choose an existing format, which cannot be deleted.

Add Format	Choose Add Format if you are finished with one format, but want to stay in the dialog box to work on another. This adds your custom number format to the Existing Formats list. (Check Permanent if you want to save the format beyond the current session.)

Existing Formats

Specify an existing number format here. Its name appears in the Operation text box.

Example area

Refer to this area as you make your selections for an example of how your format will look.

See Also

Changing number format

Predefined number formats


Paradox Currency Fields

Paradox currency fields, like number fields, can contain only numbers. They can hold positive or negative values. But by default, currency fields are formatted to display decimal places and a currency symbol. Regardless of the number of decimal places displayed, Paradox recognizes up to six decimal places when performing internal calculations on currency fields.

Tip:	You can change the default display of a currency field by inspecting it and choosing Format.

Use the Create Table dialog box or the Restructure Table dialog box to specify currency fields.

To define a field as a currency field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type $ in the Type column or press Spacebar and select Currency from the list.

To define your own currency format, click the top of the Number Format menu. This displays the Select Number Format dialog box.

See Also

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box

Number Format dialog box


Paradox Date Fields

Paradox date fields can contain any valid date from January 1, 100 to December 31, 9999. Paradox provides three date formats:

Windows Short	Uses the short date format you define from the Control Panel International dialog box.

Windows Long	Uses the long date format you define from the Control Panel International dialog box.

mm/dd/yy	Displays dates using two-digit numbers for the month, followed by the day, followed by the year, each separated by a slash mark (/).

You can also define your own custom format.

Paradox correctly handles leap years and leap centuries and checks all dates for validity.

Use the Create Table or the  Restructure Table dialog box to specify date fields.

To define a field as a date field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type D in the Type column or press Spacebar and select Date from the list.

See Also

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box

Predefined date formats

Changing date format

Select Date Format dialog box

Paradox time fields


Changing Date Format

To change the format in which a date is displayed,

1.	Inspect the date field in the Table window or in a design window.

2.	Choose Date Format to see a menu of predefined formats.

3.	You can either

Choose one of the formats to apply it to the selected date field.

Click the top of the menu to open the Select Date Format dialog box, if you want to define your own custom format.

See Also

Predefined date formats

Select Date Format dialog box


Predefined Date Formats

The properties menu for a date field shows three predefined formats you can choose from.

Windows Short	Uses the short date format you define from the Windows Control Panel International dialog box.

Windows Long	Uses the long date format you define from the Control Panel International dialog box.

mm/dd/yy	Displays dates using two-digit numbers for the month, followed by the day, followed by the year, each separated by a slash mark (/).

For each format, a two-digit yy value is assumed to be in the twentieth century. For dates earlier or later than the twentieth century, you must specify all digits of the year.

To define your own date formats, click the top of the Date Format menu to open the Select Date Format dialog box. You can delete or change only custom formats, not formats provided by Paradox.

See Also

Changing date format

Select Date Format dialog box


Select Date Format Dialog Box

Use the Select Date Format dialog box to define your own date formats. The newly defined format is added to the list of existing date formats. You can then apply the new format to a date field by inspecting its properties and changing the date format.To open the Select Date Format dialog box, inspect a date field, choose Date Format, then click the top of the Date Format menu. Or inspect an undefined field and choose Format | Date Format.

When you click Create in this dialog box, its title changes to Create Date Format. When you click Change, the title changes to Change Date Format.

Note:	Where applicable, you can right-click the format options to get the default Windows Short Date or Long Date settings. These are established by your Windows Control Panel.

Dialog Box Options

Format

Use these options to customize the date format:

Weekday	Choose whether you want the day of the week to appear and whether you want to display this day as a full word or an abbreviation. Note: Weekday is dimmed until you specify in the Order text box that you want to display weekdays.

Day	Choose whether you want the day value to be displayed with or without a leading zero.

Month	Choose whether you want the month value spelled out, abbreviated, or indicated by a number.

Year	Choose whether you want to show four digits of the year or just two.

Order	Choose in what order you want your date components to appear. (The percent signs indicate variables.) Type in a template string giving components and other characters such as commas or parentheses.

Case	If you've specified words to display months and/or weekdays, click the Case check box to choose

Mixed	Initial uppercase format

Lower	All lowercase letters

Upper	All capital letters

Example area

Refer to this area as you make your selections for an example of how your format will look.

Operation:

Name	Specify an existing date format or type in a name for your custom date format.

Note: An easy way to define a new format is to select an existing one similar to what you want (from the Existing Formats box), choose Create, make changes, then change the name of the format before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent to save the date format permanently so you can use it whenever you use Paradox. If Permanent is unchecked, the date format is unavailable after you exit Paradox.

Create	Choose Create to open a Name text box where you can type in a name for your custom date format. When you click Create, the dialog box title changes to Create Date Format.

Change	Choose Change to modify a custom date format. Note: You can change only those formats you've created. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom date format. Note: You can delete only those formats you've created. The Delete button is dimmed when you choose an existing format, which cannot be deleted.

Add Format	Choose Add Format if you are finished with one format, but want to stay in the dialog box to work on another. This adds your custom date format to the Existing Formats list. (Check Permanent if you want to save the format beyond the current session.)

Existing Formats

Specify an existing date format here. Its name appears in the Operation text box.

See Also

Changing date format

Predefined date formats


Paradox Time Fields

Paradox provides two formats for entering and displaying time variables.

Windows Time	Uses the time format you define from the Windows Control Panel International dialog box.

hh:mm:ss am	Formats the time to display two digits of hours, minutes, and seconds, separated by colons and followed by AM or PM.

See Also

Creating a new table

Restructuring a table

Predefined time formats

Changing time format

Select Time Format dialog box

Paradox date fields


Changing Time Format

To change the format in which time is displayed,

1.	Inspect the time field in the Table window or in a design window.

2.	Choose Time Format. This displays a menu of predefined formats.

3.	You can either

Choose one of the formats to apply it to the selected time field.

Click the top of the menu to open the Select Time Format dialog box if you want to define your own custom format.

See Also

Predefined time formats

Select Time Format dialog box


Predefined Time Formats

The Properties menu for a time field shows two predefined formats you can choose from.

Windows Time	Uses the time format you define from the Windows Control Panel International dialog box.

hh:mm:ss am	Formats the time to display two digits of hours, minutes, and seconds, separated by colons and followed by AM or PM.

To define your own time formats, click the top of the Time Format menu to open the Select Time Format dialog box. You can delete or change only custom formats, not formats provided by Paradox.

See Also

Changing time format

Select Time Format dialog box

Select Timestamp Format dialog box


Select Time Format Dialog Box

Use the Select Time Format dialog box to define your own time format. The newly defined format is added to the list of existing time formats. You can then apply the new format to a time field by inspecting its properties and changing the time format.

To open the Select Time Format dialog box, inspect a time field, choose Time Format, then click the top of the Time Format menu. Or inspect an undefined field and choose Format | Time Format. When you click Create in this dialog box, its title changes to Create Time Format. When you click Change in this dialog box, the title changes to Change Time Format.

Note:	Where applicable, you can right-click the format options to get the default Windows Time setting. This is established by your Windows Control Panel.

Dialog Box Options

Format

Use these options to customize the time format:

Leading Zero	Choose to place a 0 before single-digit hours, minutes, and/ or seconds. This makes the time line up nicely in a table column.

Time System	Choose a 12 Hour or a 24 Hour time system.

AM/PM	Choose AM or PM to specify which values you want Paradox to display for a 12-hour clock.

Order	Choose in what order you want your time components---hour (%H), minute (%M), second (%S), and AM/PM indicator (%N)---to appear. (The percent signs indicate variables.) Delete a value if you do not want that part of the time to appear, or type in a value that you want included in the time format.

Example area

Refer to this area as you make your selections for an example of how your format will look.

Operation:

Name	Specify an existing time format or type in a name for your custom time format.

Note: An easy way to define a new format is to select an existing one similar to what you want (from the Existing Formats box), make changes, then change the name of the format before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent to save the time format permanently so you can use it whenever you use Paradox. If Permanent is unchecked, the time format is unavailable after you change working directories or exit Paradox.

Create	Choose Create to open a Name text box where you can type in a name for your custom time format. When you click Create, the dialog box title changes to Create Time Format.

Change	Choose Change to modify a custom time format. Note: You can change only those formats you've created. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom time format. Note: You can delete only those formats you've created. The Delete button is dimmed when you choose an existing format, that cannot be deleted.

Add Format	Choose Add Format to add your custom time format to the Existing Formats list.

Existing Formats

Specify an existing time format. Its name appears in the Operation text box.

See Also

Changing time format

Predefined time formats

Create Time Format dialog box

Select Timestamp Format dialog box


Create Time Format Dialog Box

Use the Create Time Format dialog box to define your own time format. The newly defined format is added to the list of existing time formats. You can then apply the new format to a time field by inspecting its properties and changing the time format.

To open the Create Time Format dialog box, you must first open the Select Time Format dialog box: Inspect a time field, choose Time Format, then click the top of the Time Format menu. Or inspect an undefined field and choose Format | Time Format. When you click Create in this dialog box, its title changes to Create Time Format. When you click Change in this dialog box, the title changes to Change Time Format.

Note:	Where applicable, you can right-click the format options to get the default Windows Time setting. This is established by your Windows Control Panel.

Dialog Box Options

Format

Use these options to customize the time format:

Leading Zero	Choose to place a 0 before single-digit hours, minutes, and/ or seconds. This makes the time line up nicely in a table column.

Time System	Choose a 12 Hour or a 24 Hour time system.

AM/PM	Choose AM or PM to specify which values you want Paradox to display for a 12-hour clock.

Order	Choose in what order you want your time components---hour (%H), minute (%M), second (%S), and AM/PM indicator (%N)---to appear. (The percent signs indicate variables.) Delete a value if you do not want that part of the time to appear, or type in a value that you want included in the time format.

Example area

Refer to this area as you make your selections for an example of how your format will look.

Operation:

Name	Specify an existing time format or type in a name for your custom time format.

Note: An easy way to define a new format is to select an existing one similar to what you want (from the Existing Formats box), make changes, then change the name of the format before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent to save the time format permanently so you can use it whenever you use Paradox. If Permanent is unchecked, the time format is unavailable after you change working directories or exit Paradox.

Create	Choose Create to open a Name text box where you can type in a name for your custom time format. When you click Create, the dialog box title changes to Create Time Format.

Change	Choose Change to modify a custom time format. Note: You can change only those formats you've created. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom time format. Note: You can delete only those formats you've created. The Delete button is dimmed when you choose an existing format, that cannot be deleted.

Add Format	Choose Add Format to add your custom time format to the Existing Formats list.

Existing Formats

Specify an existing time format. Its name appears in the Operation text box.

See Also

Changing time format

Predefined time formats

Select Time Format dialog box

Select Timestamp Format dialog box


Select Timestamp Format Dialog Box

 In a form, you might use ObjectPAL to assign a time variable to an undefined field. You can change the field's timestamp format by inspecting it and choosing Format | Timestamp Format.

In the Select Timestamp Format dialog box you can define your own timestamp format. The newly defined format is added to the list of existing timestamp formats. You can then apply the new format to a timestamp field by inspecting its properties and changing the timestamp format.

To open the Select Timestamp Format dialog box, inspect an undefined field and choose Format | Timestamp Format. When you click Create in this dialog box, its title changes to Create Timestamp Format. When you click Change in this dialog box, the title changes to Change Timestamp Format.

Note:	Where applicable, you can right-click the format options to get the default Windows Time, Short Date or Long Date settings. These are established by your Windows Control Panel.

Dialog Box Options

Time Format

Use these options to customize the time format:

Leading Zero	Choose to place a 0 before single-digit hours, minutes, and/or seconds. This makes the time line up nicely in a table column.

Time System	Choose a 12 Hour or a 24 Hour time system.

AM/PM	Choose AM or PM to specify which values you want Paradox to display for a 12-hour clock.

Order	Choose in what order you want your timestamp components---hour (%H), minute (%M), second (%S), AM/PM indicator (%N), and date (%D)---to appear. (The percent signs indicate variables.) Delete a value if you do not want that part of the timestamp to appear, or type in a value that you do want included in the format.

Date Format

Use these options to customize the date format:

Day	Choose whether you want the day value to be displayed with or without a leading zero.

Month	Choose whether you want the month value spelled out, abbreviated, or indicated by a number.

Year	Choose whether you want to show four digits of the year or just two.

Order	Choose in what order you want your date components to appear. (The percent signs indicate variables.) Type in a template string giving components and other characters such as commas or parentheses.

Case	If you've specified words to display months and/or weekdays, click the case check box to choose

Mixed	Initial upper case format

Lower	All lower case letters

Upper	All capital letters

Existing Formats

Specify an existing time format here. Its name appears in the Operation text box.

Operation:

Name	Specify an existing timestamp format or type in a name for your custom format.

Note: An easy way to define a new format is to select an existing one similar to what you want (from the Existing Formats box), make the modifications you want, then change the name of the format here before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent to save the timestamp format permanently so you can use it whenever you use Paradox. If Permanent is unchecked, the format is available only until you change working directories or exit Paradox.

Create	Choose Create to open a Name text box where you can type in a name for your custom timestamp format. When you click Create, the dialog box title changes to Create Timestamp Format.

Change	Choose Change to modify a custom timestamp format. Note: You can change only those formats you've created. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom timestamp format. Note: You can delete only those formats you've created. The Delete button is dimmed when you choose an existing format, which cannot be deleted.

Add Format	Choose Add Format to add your custom timestamp format to the Existing Formats list.

Example area

Refer to this area as you make your selections for an example of how your format will look.

See Also

Changing time format

Predefined time formats

Select Time Format dialog box


Paradox Short Number

Paradox short number fields are special number fields that can contain only whole numbers in the range -32,767 to 32,768. Short number fields require less disk storage than ordinary number fields. They are available only in Paradox type tables.

Because they do not allow the same formatting options as number fields, short number fields should be used only by advanced Paradox users.

Use the Create Table dialog box or the Restructure Table dialog box to specify short number fields.

To define a field as a short number field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type S in the Type column or press Spacebar and select Short Number from the list.

See Also

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box


Paradox Memo Fields

Use memo fields for text strings that are too long to store in an alphanumeric field.

Memo fields can be virtually any length. The size value you assign refers to the amount of the memo Paradox stores in the table. This can be from 1 to 240 characters. Paradox stores the whole memo outside the table (in the .MB file). Paradox retrieves the data from the .MB file as you scroll through the records of the table. The amount of data a memo field contains is limited only by the disk space available on your system.

Tip:	If all your memos are smaller than a given size (for example, 200 characters), you can save space and time by setting the memo field size to be equal to or larger than this given size. You'll still have an .MB file, but Paradox will not have to access it to display the field's data.

Memo fields can contain letters, numbers, special symbols (such as %, &, #, and =), or any other printable ASCII character (except null). You can enter line breaks, tabs and other print control characters in memo fields.

Use the Create Table dialog box or the Restructure Table dialog box to specify memo fields.

To define a field as a memo field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type M in the Type column or press Spacebar and select Memo from the list.

4.	In the Size column, specify a size up to 240 characters.

Note:	In viewing a table with memo fields, you can use the Complete Display property to control the display of memo data.

Check Complete Display if you want to see all the record values displayed all the time.

Uncheck Complete Display if you want to see only the value of the current field. Tip: This lets you move through the records of the table more quickly.

See Also

Formatted memo fields

Complete Display

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box


Paradox Formatted Memo Fields

Paradox formatted memo fields are like memo fields except you can format the text.

Paradox recognizes text attributes (typeface, style, color and size) and stores them with the text.

Use the Create Table dialog box or the Restructure Table dialog box to specify formatted memo fields.

To define a field as a formatted memo field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type F in the Type column; or right-click or press Spacebar, then select Formatted Memo from the list.

4.	In the Size column, specify a size up to 255 characters (optional).

Formatted memo fields can be any length. The size value you establish in the Create Table dialog box refers to the amount of the memo stored in the table. The whole memo is stored externally to the table. For example, if you assign a size value of 45 to the field, 45 characters are stored in the table. The whole field is stored elsewhere and retrieved as you scroll through the table records.

Note:	In viewing a table with formatted memo fields, you can move through the records faster if you inspect the field and uncheck Complete Display.

Uncheck Complete Display to see only the value of the selected field. Paradox shows you one record's value at a time as you move through the table.

Check Complete Display to see all the record values displayed all the time.

See Also

Complete Display

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box


Paradox Binary Fields

Binary fields should be used only by Paradox application developers and advanced users who need to work with data that Paradox cannot interpret. Paradox cannot display or interpret binary fields, but ObjectPAL can access them. A common use of a binary field is to store sound.

Use the Create Table dialog box or the Restructure Table dialog box to specify binary fields.

To define a field as a binary field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type B in the Type column or press Spacebar and select Binary from the list.

Binary fields do not require a size, because they are not stored in the table, but in separate files.

See Also

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box


Paradox Graphic Fields

Paradox graphic fields contain pictures. You can create graphics in a painting or drawing application, or scan in images.

You can select .BMP, .PCX, .TIF, .GIF, and .EPS file formats. When you paste a graphic into a graphic field, Paradox converts the graphic into the .BMP format.

Use the Create Table dialog box or the Restructure Table dialog box to specify graphic fields.

To define a field as a graphic field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type G in the Type column or press Spacebar and select Graphic from the list.

Graphic fields do not require a size because they are not stored in the table, but in separate files.

See Also

Create Paradox Table dialog box

Restructure Table dialog box

Entering graphic data

Viewing graphic data


Paradox OLE Fields

Use OLE fields in Paradox to place objects from other Windows applications in your table.

The advantage of using OLE to place graphics, rather than using a graphic field, is that you can access power of the OLE server to work with the OLE object from within Paradox.

Use the Create Table dialog box or the Restructure Table dialog box to specify OLE fields.

To define a field as an OLE field

1.	Display the structure of the table in the dialog box.

2.	Select the Type column of the field you want.

3.	Type O in the Type column or press Spacebar and select OLE from the list.

You do not need to specify a size for OLE fields because they are not stored in the table, but in separate files.

See Also

The Magnification property

Creating a new table

Create Paradox Table dialog box

Restructuring a table

Restructure Table dialog box


dBASE Character Fields

dBASE character fields can contain any printable character (including blank spaces). The maximum size of a dBASE character field is 254.


dBASE Float Number Fields

dBASE provides two ways to store numeric data. The float number type contains numeric data in a binary floating-point format. Use the float number type on fields that will not require precise calculations to be performed on them; some degree of precision is rounded or truncated during calculation. Float number fields are best used to contain whole numbers, or numbers of up to two decimal places.

The size of a dBASE float number field can be from 1 to 20.

Setting decimal places

You set the number of decimal places in the Dec column of the Field Roster in the Create/Restructure dialog box.

In the Dec column, you specify how many decimal places to store. Enter a number at least 2 less than the field size. This is because Paradox counts the decimal point and sign (if any) as part of the field size.


dBASE Number Fields

dBASE number fields contain numeric data in a Binary Coded Decimal (BCD) format. Use number fields when you'll need to perform precise calculations on the field data. Calculations on number fields are performed more slowly, but with greater precision than on float number fields.

The size of a dBASE number field can be from 1 to 20.

Setting decimal places

You set the number of decimal places in the Dec column of the Field Roster in the Create/Restructure dialog box.

In the Dec column, you specify how many decimal places to store. Enter a number at least 2 less than the field size. This is because Paradox counts the decimal point and sign (if any) as part of the field size.


dBASE Date Fields

Date fields contain dates. The default date entry and display format is Windows Short (which uses the short date format you defined from the Windows Control Panel International dialog box), but you can format dBASE date fields the same way you format Paradox date fields, by inspecting the field in either the table or design document you're using. This size for a date field is always 8.


dBASE Logical Fields

Logical fields contain a single character representing True or False (Yes or No) values. In dBASE logical fields, logical true can be entered as T, t, Y, or y. Logical false can be entered as F, f, N, or n. The size for a dBASE logical field is always 1.

dBASE logical fields have the Logical Format choice on their menu. Choose it to choose what values to accept in the logical field. You'll see a menu of your most recent formats (like True/False or Male/Female).

To specify additional logical values, click the top of this menu. The Select Logical Format dialog box opens. You can delete or change only custom formats, not formats provided by Paradox.

See Also

Changing logical formats in dBASE tables


Changing Logical Formats in dBASE Tables

To change the format of a dBASE logical field,

1.	Inspect the logical field in the Table window or in a design window.

2.	Choose Logical Format to see a menu of predefined formats.

3.	You can either

Choose a format to apply it to the selected logical field.

Click the top of the menu to open the Select Logical Format dialog box, where you can define your own logical format.

You can delete or change only custom formats, not formats provided by Paradox.

See Also

dBASE logical fields

Select Logical Format dialog box


Select Logical Format Dialog Box

Use the Select Logical Format dialog box to define a new logical format, which is added to the list of existing logical formats. You can apply the new format to a logical field by inspecting its properties and changing the logical format.

To open the Select Logical Format dialog box, inspect a logical field, choose Logical Format, then click the top of the Logical Format menu. Or inspect an undefined field and choose Format | Logical Format. When you click Create in this dialog box, its title changes to Create Logical Format. When you click Change in this dialog box, its title changes to Change Logical Format.

Dialog Box Options

Format

Use these options to customize the logical format:

True text box	Type the True equivalent values in the True text box.

False text box	Type the False equivalent values in the False text box.

Operation:

Name	Specify an existing logical format or type in a name for your custom set in the Name text box.

Note: An easy way to define a new format is to select an existing one similar to one you want (from the Existing Formats box), click Create or Change to make changes, then change the name of the format here before you choose OK.

You can name custom formats for number, currency, date, time, timestamp, and logical fields. You must give each format a unique name, regardless of the data type it applies to. For example, you cannot give a number format and a date format the same name.

Permanent	Check Permanent if you want Paradox to save the new logical format permanently. If Permanent is unchecked, the logical format is unavailable after you exit Paradox.

Create	Choose Create to open a Name text box where you can type in a name for your custom logical format. When you click Create, the dialog box title changes to Create Logical Format.

Change	Choose Change to modify a custom logical format. The Change button is dimmed when you choose an existing format, which cannot be changed.

Delete	Choose Delete to delete a custom logical format. The Delete button is dimmed when you choose an existing format, which cannot be changed.

Add Format	Choose Add Format if you are finished with one format, but want to stay in the dialog box to work on another. This adds your custom logical format to the Existing Formats list. (Check Permanent if you want to save the format beyond the current session.)

Existing Formats

Specify an existing logical format. Its name appears in the Operation text box.

See Also

dBASE logical fields


dBASE Memo Fields

dBASE memo fields contain blocks of text that are too large to be stored in a character field. The contents of memo fields are stored externally to the table. You do not specify a field size for dBASE memo fields.


Key Fields

In Paradox tables, a key is a field or group of fields containing data that uniquely identifies each record of a table. This prevents duplicate records in the table. Tables that have keys identified are called keyed tables.

A table's key establishes the default sort order for the table. Paradox sorts the table's records on the values in the field(s) you define as the table's key. This makes it easy for Paradox to find records quickly and to process certain operations.

A keyed field can have only one blank value. Paradox considers all subsequent blanks to be duplicates and prevents you from entering them.

Keys are required for linking tables and for using the data integrity features available with Paradox.

The key for a table must be the first field or group of fields of the table. If you identify more than one field as keyed, it is known as a composite key. These fields, taken as a group, must be unique for each record of the table.

See Also

Composite key fields

Defining key fields

Rearranging fields and effects on key fields

Indexes


Defining Key Fields

To define a Paradox field as a key field, select the Key column, then press Spacebar or double-click to toggle on the key field marker. Paradox displays an asterisk (*) in the Key column for that field.

To remove a key from a field or group of fields, select the Key column for that field, then press Spacebar or double-click to toggle off the key field marker.

If you remove a key located above other keys, an error message appears when you try to save the table structure. Make sure all key fields are the first fields in your table structure.

See Also

Key fields

Composite key fields

Rearranging fields and effects on key fields

Create Paradox Table dialog box


Composite Key Fields

A Paradox type table can have more than one field defined as a key field. The fields are treated as a group or composite. Composite key fields must be the first fields of the table.

Use composite key fields when there is no single field in a table where every value is unique.

When a table has a composite key field, duplicate values are allowed in an individual key field, as long as values are not duplicated across all key fields. In other words, the key fields, taken as a group, must uniquely identify a record.

Paradox sorts tables that have composite key fields by starting with the first field, then sorting on following fields.

See Also

Key fields

Defining key fields


Indexes

An index is a file that determines the order in which Paradox accesses the records in a table. Both Paradox tables and dBASE tables use indexes to organize the records in a table, but their indexes work differently.

When you create an index, Paradox creates a file that contains the indexed field's values and their corresponding locations. Paradox refers to the index file when locating and displaying the records in a table.

You can use an index to view the records in a different order from the default order. However, the records remain stored in the same physical location where you originally entered them.

See Also

A Paradox table's primary index

A Paradox table's secondary index

A dBASE table's index


A Paradox Table's Primary Index

Paradox organizes the records of a keyed table according to the values in the field(s) of the table's key. This is its primary index.

By default, all indexes organize and access data in ascending order (A to Z or 0 to 9). By creating a key field, you tell Paradox to organize the table by the values in that field. Changing the key changes where Paradox physically stores each record in the table.

A primary index from a composite key

When you define a composite key, Paradox creates a primary composite index, which organizes the records by the first field of the key (according the table's structure), then the next, and so on.

See Also

A Paradox table's secondary index

A dBASE table's index

Indexes


A Paradox Table's Secondary Index

When working with Paradox tables, you can use a secondary index to define an alternate view order for the table. For example, if you sometimes want to view the Contacts table by First Name values, but need to keep the table's key intact, you can define a secondary index on First Name and use it to temporarily change the view order of the records.

When you use a secondary index, you change only the view order of the records. The physical location of the records in the table does not change.

Secondary Indexes are also used in linking Paradox tables.

A composite secondary index

You can define a secondary index on a group of fields. This is a composite secondary index. It organizes the data by the first field of the index first, then by the next, and so on.

Maintained secondary indexes

Secondary indexes can be either automatically maintained by Paradox or non-maintained. When the index is maintained, Paradox updates the index file whenever you update the table.

Non-maintained secondary indexes

A non-maintained index is not automatically updated when you update the table, but you can open a non-maintained index for use on a table. To do this, you use the Order/Range dialog box to specify the index you want to use while working with a table. You can use only one non-maintained index at a time.

See Also

A Paradox table's primary index

A dBASE table's index

Indexes

How Paradox uses indexes

Order/Range dialog box


A dBASE Table's Index

When working with dBASE tables, Paradox uses an index to organize the records in a table according to the values in one or more fields.

When you create an index on a dBASE table, Paradox creates a file that contains the indexed field's values and their corresponding record numbers. Paradox refers to the index file when locating and displaying the records in a table.

When you use an index on a dBASE table, the records appear in a different order. However, the records remain stored in the same physical location in which you originally entered them.

Tip:	Although Paradox supports both .MDX files and .NDX files, it is recommended that you use a dBASE production index (the .MDX file which uses the table's name as its file name) whenever possible. Although you can create non-production .MDX files as well as .NDX files, Paradox automatically maintains the production index.

See Also

Indexes

Indexing dBASE tables

A Paradox table's secondary index


Rearranging Paradox Fields and Effects on Key Fields

You might rearrange fields so that the key fields are no longer the first consecutive fields. When you click OK, Paradox alerts you to correct any violation of key field rules in the Restructure Table dialog box.

If you add keys to a table that was previously unkeyed or had different keys, you can cause a key violation: Data already entered into the table violates a rule established by the new key. Paradox writes the key-violating records to a special temporary table called Keyviol.

Records that are key violations are deleted from your table. You can change the records in the Keyviol table so they comply with the key requirements, then add them back to your original table using File | Utilities | Add.

See Also

Restructure Table dialog box


Naming a New Table

You name a new table after you design its structure in the Create Table dialog box.

To name a new Paradox table

1.	Click the Save As button in the Create Table dialog box.

Paradox opens the Save Table dialog box.

2.	Type the new table name. Do not include a file name extension; Paradox provides the correct extension for you.

The table name must be from one to eight characters long and follow all other DOS file naming conventions.

If the table you are creating is not in the current working directory, include its path name. The path you specify must already exist.

3.	Choose Display Table to view your new table.

4.	Choose OK.

When you save your new table, Paradox automatically puts it in the Folder window.

See Also

Creating a new table

The Folder window


Borrowing a Paradox Table Structure

When creating or restructuring a table, you can borrow the structure of another table.You must begin from a blank table structure to borrow another table's structure.

To borrow a table structure

1.	Use the Create Table dialog box or the Restructure Table dialog box to display the structure of the table you're creating or restructuring.

2.	Choose Borrow.

Paradox opens the Borrow Table Structure dialog box, which shows you a list of tables in the working directory. The list includes only table types that match the type of table you are creating.

3.	For the Source Table, select a table from the list on the left.

To borrow from a table not in the working directory, you can

Type the file name (including the full directory path) in the Source Table text box.

Choose the Path list to choose an alias or directory. The tables in the Table list change to show the contents of that directory.

Choose Browse to open the Browser. You can choose any table from any drive or directory.

4.	In the Options area, specify which table properties you want to bring along with the field specification.

Primary Index

Secondary Indexes

Validity Checks

Referential Integrity

Lookup Table

5.	Choose OK.

Paradox puts a copy of the selected table's structure in the field specification area of the Create Table dialog box. You can now change the borrowed structure.

See Also

Borrowing a dBASE table structure

Create Paradox Table dialog box

Restructure Paradox Table dialog box

Browser

Table properties:

Key fields

Validity checks

Table Lookup

Secondary Indexes

Defining referential integrity rules


Borrowing a dBASE Table Structure

When creating or restructuring a table, you can borrow the structure of another table.You must begin from a blank table structure to borrow another table's structure.

To borrow a table structure

1.	Use the Create Table dialog box or the Restructure Table dialog box to display the structure of the table you're creating or restructuring.

2.	Choose Borrow.

Paradox opens the Borrow Table Structure dialog box, which shows you a list of tables in the working directory. The list includes only table types that match the type of table you are creating.

3.	For the Source Table, select a table from the list on the left.

To borrow from a table not in the working directory, you can:

Type the file name (including the full directory path) in the Source Table text box.

Choose the Path list to choose an alias or directory. The tables in the table list change to show the contents of that directory.

Choose Browse to open the Browser. You can choose any table from any drive or directory.

4.	In the Options area, check Indexes to borrow any indexes associated with the table.

5.	Choose OK.

Paradox puts a copy of the selected table's structure in the field specification area of the Create Table dialog box. You can now change the borrowed structure.

See Also

Borrowing a Paradox table structure

Create dBASE Table dialog box

Restructure dBASE Table dialog box

A dBASE table's index

Browser


Viewing tables

Viewing a table

Table Window SpeedBar

Table scroll bars

Displaying specific ranges

Changing a table's properties

Saving changes to a view


Viewing a Table

There are several ways to view a table:

From the Desktop, choose File | Open | Table.

Double-click the table's icon in the Folder window.

Inspect a selected table icon and choose View from its menu.

Click the Open Table button on the SpeedBar.

Paradox displays the default view of the table.

See Also

Open Table dialog box

Direct manipulation


Table Scroll Bars

Use the up and down scroll arrows on the vertical scroll bar to scroll through the table one record at a time. Use the left and right scroll arrows on the horizontal scroll bar to scroll through the columns of the table.

When you drag the box on the vertical scroll bar to scroll through the records of the table, the records themselves do not move. Instead, Paradox displays the range of record numbers as it would appear if you released the scroll box on the Desktop's status bar. When you see the range you want to scroll to, release the scroll box. Paradox updates the view of the table.

If the table is keyed, Paradox displays the range of values in the key field (or the first field of a composite key) on the Desktop's status bar as you move the vertical scroll bar.

Note:	In dBASE tables, the vertical scroll box might appear inaccurate if you deleted records and Show Deleted is off.

Scroll lock

To lock one or more columns into place as you move horizontally through the table's columns, you can place a scroll lock to the right of the column(s) you want to remain onscreen.

The scroll lock looks like a triangle [image]  in the lower left corner of the Table window. To place a lock, drag the triangle to the right side of the column you want to lock. The pointer changes to a double-headed arrow and the lock changes to two triangles. Position the scroll lock on the right grid line of the right-most column you want to lock. All columns to the left of the lock remain stationary as you move through the table's columns.

See Also

Displaying specific ranges

Direct manipulation


Table Navigation Buttons

Use the navigation buttons on the SpeedBar to move quickly among records in a table:

  Top of file

  Up one set of records

  Up one record

  Down one record

  Down one set of records

  End of file

A set of records is the number of records currently visible onscreen.


Displaying Specific Ranges

You can view a keyed table in a different order than that specified by the primary index. You use a secondary index to change the view. You can also specify a range of values in the index and tell Paradox you want to view only values in that range.

To use either option, choose Table | Order/Range (or Form | Order/Range). The Order/Range dialog box opens.

Note:	The Order/Range command is available for Paradox tables only when they have a key defined.

To view the table in the order of a secondary index

Choose the index you want from the Index list. The index appears in the Field Values panel of the dialog box. When you choose OK, Paradox displays the table in the view order of the chosen index.

To view a dBASE table in natural order, choose NO INDEX.

Note:	If you want to specify a descending as opposed to an ascending view order, or a case-sensitive as opposed to a case-insensitive view order, you must first define the index you use to the specifications you want.

To specify a range of values

First choose the index you want to use from the Index list. The index appears in the Field Values panel. The index you choose defines the viewing order of the table. It groups like values together, so Paradox can find them quickly. When you specify a range, you tell Paradox which groups you want to see.

See Also

Order/Range dialog box

An exact match in a range

Matching partial strings

Setting ranges on a composite index

Changing view order on dBASE tables

Key fields


An Exact Match in a Range

An exact match on a range means you want Paradox to display only those records whose value matches exactly the value you specify. Specify the value you want by entering it in the text box in the Field Values panel.

To specify inexact matches

You do not have to set an exact match for a field. For example, if you want to see all records that fall within a specific range, you can use the Set Range check box.

To set a range on one of the fields in the index, place the insertion point in the text box for that field, and check Set Range.

Note:	If you check Set Range without first placing the insertion point in a text box, Paradox automatically chooses the last field for which you have specified a value.

When you check Set Range, another text box appears below the first text box in the Field Values panel. To define the range of values you want Paradox to display, enter the low value in the top text box and the high value in the bottom text box.

Note:	Paradox does not recognize blanks as part of a match or range specification. A blank matches all records in the field. Blanks are allowed only in the last field of a composite index.

See Also

Order/Range dialog box

Displaying specific ranges

Matching partial strings

Setting ranges on a composite index

Changing view order on dBASE tables


Matching Partial Strings

In the Order/Range dialog box, you can match partial values of range matches on alphanumeric fields. Suppose you've divided responsibility for contacting customers alphabetically among your employees. One employee is responsible for customers whose names begin with the letters A through J. To view this range of customers, you would

1.	Choose an index on the Name field. This sorts the records of the Customer table alphabetically by name.

2.	Check Set Range.

3.	Check Match Partial Strings. This tells Paradox you do not care what the full field value is, as long as it starts with a letter that falls within the range. (Match Partial Strings is checked by default.)

4.	Type the letter A in the top text box. This tells Paradox to begin the range with names that start with A.

5.	Type the letter J in the bottom text box. This tells Paradox to end the range with the names that start with J.

6.	When you choose OK and view the table, Paradox displays all records for customers whose names start with A through J.

See Also

Displaying specific ranges

Setting ranges on a composite index

Changing view order on dBASE tables

Order/Range dialog box


Setting Ranges on a Composite Index

When you choose a composite index from the Available Indexes list, the fields of the index appear in their table order in the Field Values panel.

Rules for setting ranges on a composite index

You do not have to specify a range for every field of the index, but you cannot skip over a field. For example, if you have a three-field index, you can:

Set a range on the first field, but not the second or third.

Set a range on the first and second fields, but not the third.

You cannot set a range on the first and third fields, skipping the second.

You can specify exact matches and range matches on the same composite index, but you can use a range match only on the last of the fields you define a match for. Using the example of the three-field index, you can

Set an exact match on the first and second fields, and a range match on the third.

Set an exact match on the first field, a range match on the second, and leave the third blank.

Set a range match on the first field, and no range on the second or third.

You cannot set a range match on the first field and an exact match on the second or third.

Note:	You cannot use a composite index on a dBASE table to set a range. You can, however, use an expression index. You can set an exact match, inexact match, or partial range on an expression index.

See Also

Displaying specific ranges

Matching partial strings

Changing view order on dBASE tables


Changing View Order on dBASE Tables

When you open the Order/Range dialog box for a dBASE table, the Index List shows all tags included in the table's production index (the .MDX file that shares the table's name). Choose a tag and use the dialog box the same way you would for a Paradox table.

If you want to use a different index (an .NDX file or a tag from a different .MDX file), enter its name (including its .MDX extension) in the Select dBASE Index file text box. You can then use it as you would any other index.

When you change the view of a dBASE table's order, the record numbers (which show each record's true location in the table) are shown out of order.

Note:	You cannot use a composite index on a dBASE table to set a range. You can, however, use an expression index. You can set an exact match, inexact match, or partial range on an expression index.

See Also

Displaying specific ranges

Matching partial strings

Creating an expression index


Table Views

The default view of a table is the way it initially looks when you open it in its Table window. The default view depends on a number of things: your Windows screen colors, the preferences you define from the Desktop's Properties menu, and the structure of the table.

But you can change the way your table looks, and the way you view your data. You can change the

Order of the columns

Column width

Number of records displayed

Placement of a scroll lock on a column

Color and style of the table's gridlines

Spacing between records

Typeface of the data and headings

Color of the data or the background

To save the properties as you've set them, use Properties | View Properties | Save.

Note:	When you view your table's data in an alternate format (like a form or report) the property settings you've chosen in the Table window do not appear. You can customize the form or report individually to get the look you want for it.

See Also

Direct manipulation

Changing a table's properties


Direct Manipulation

You can change the way your table looks in a Table window.

Direct manipulation means changing an object's size, shape, or position by dragging its edges with the mouse. The pointer changes to a double-tipped arrow over grid handles that you can drag.

Property	To manipulate

Heading height	Drag the table name up or down.

Row height	Drag the line under the first record number in the window up or down.

Horizontal scroll lock	Drag the triangle at the lower left edge of the Table window to the right.

Column width	Drag the top of the column's right grid line to the left or right.

Order of columns	Drag the column heading to the new location.

To rotate column order with the keyboard, select the column to move, then press Ctrl+R. This moves the selected column to the last place on the right of the table.

See Also

Viewing a table

Changing a table's properties

Table scroll bars


Changing a Table's Properties

To change the properties of any area of a Table window, inspect that area. The menu for that area pops up. You can change properties of the grid, the heading, or the display of the data.

To inspect properties using the keyboard,

Press	To inspect

Ctrl+G	Grid properties

Ctrl+H	Heading properties for selected column

Shift+Ctrl+H	Heading properties for all columns

Ctrl+M	Field properties for selected column

Shift+Ctrl+M	Field properties for all columns

Shift+F6	Field properties for all columns

To change properties of all columns of the table at once, press Shift+F6.

See Also

Grid properties

Heading properties

Data properties

Complete Display

The Magnification property


Grid Properties

Inspect any grid line to display the Grid menu. Use this menu to change the table's background color and the properties of lines between columns and rows.

The choices on the Grid menu are

Color	Lets you choose a color for the space behind the grid lines.

Grid Lines	Lets you hide or display heading, column, or row lines.You can also specify line style, color, and spacing (single, double, or triple grid lines).

Current Record

Marker	Lets you show or hide the horizontal line that appears beneath the current record and also specify line style and color.


Heading Properties

Inspect any column heading to display the Heading menu and change the properties of that heading.

Choices on the Heading menu are

Alignment	Lets you position a column heading above, below, or on the heading grid line. The default is on the grid line. You can align a column heading along the right or left edge of the column, or you can center it. The default is centered.

Color	Lets you choose a color for the heading background.

Font	Lets you specify typeface, size, style, and color for the heading text. To change more than one of these attributes at the same time, click the top of the Font menu to display the Font palette. You can leave this palette onscreen for as long as you like and use it to specify font attributes for any selected object.


Data Properties

Inspect any data area to change the way Paradox displays data in that column. Alphanumeric, number, date, and currency fields all have the Data Dependent property choice.

When you choose Data Dependent, Paradox displays the Data Dependent Properties dialog box.

If you already declared ranges, select the one you want and click OK.

To declare a new range of values, choose New Range, then enter the values that establish the range in the Range Includes Values panel of the dialog box.

See Also

Creating a data-dependent display of values

Data Dependent Properties dialog box


Data Dependent Properties Dialog Box

Use the Data Dependent Properties dialog box when you want to display a specified range of values in a field with different colors or fonts. To open the Data Dependent Properties dialog box, inspect any data area in a table. Alphanumeric, number, date, and currency fields all have the Data Dependent property choice.

Dialog Box Options

Ranges

Lists the ranges you've specified.

New Range

Choose New Range when you want to specify another range to add to the Ranges list.

Remove

Select in the Ranges list the range you want to remove. Then choose Remove to delete it from the list.

Range Includes Values

Choose an operator, then type the corresponding numbers in the text boxes:

Operator	Meaning

=	Equals

>	Greater than

>=	Greater than or equal to

<	Less than

<=	Less than or equal to

Set Properties

Choose Set Properties to specify color and font for displaying this range of values. The display you specify is demonstrated in the Sample area.

Apply Changes

When you've specified the range you want to appear differently, choose Apply Changes. The range is displayed in the Ranges list.

The range you specify in the Data Dependent Properties dialog box does not have to be numeric. You can set a range of dates or match text strings. For example, in the Customer table, all State field values equal to CA could be displayed in yellow italic text. Or all dates in 1991 could be displayed in blue underlined text.

Note:	The properties of a data-dependent range override those you specify for a column. If, for example, you choose a blue background color for a column, any records that fall within a data-dependent range specification are not affected. These records continue to use the background color for the range, rather than for the column as a whole.

See Also

Data properties

Creating a data-dependent display of values


Creating a Data-Dependent Display of Values

You can display a specified range of values in different colors or fonts. You specify these ranges in the Data Dependent Properties dialog box.

To open the Data Dependent Properties dialog box, inspect any data area in a table. Alphanumeric, number, date, and currency fields all have the Data Dependent property choice.

To add a range of values to the Ranges box,

1.	Choose New Range.

2.	In the Range Includes Values panel of the dialog box, enter the values that establish the range.

If a single value is to appear with the selected properties, choose the = button, then type the value.

To define a range, choose > or >= and type the beginning of the range. Then choose < or <= and type the end of the range.

3.	Inspect the Sample area or choose Set Properties to choose color and font properties for values in the range.

4.	Choose Apply Changes to accept the range and the display properties you've chosen. The range then appears in the Ranges list. You can establish as many data-dependent ranges as you need.

5.	If you change your mind, you can remove a range from the list. Select the range and choose Remove.

6.	When you're through defining ranges, choose OK to close the dialog box. Values in the field that fall within each range you specified in the Ranges list will be displayed in the table in the fonts and colors you assigned to that range.

See Also

Data properties

Data Dependent Properties dialog box


Complete Display

When you inspect a BLOB field in a Table window, you see Complete Display on its menu. (In a Form Design window, Complete Display is on the field's Run Time menu.)

Check Complete Display to see all the record values displayed all the time.

Uncheck Complete Display to see only the value of the current field. You can move through the records of the table more quickly if you uncheck Complete Display.

Memo fields

Depending on the speed of your system and the size of your memo fields, you might find that screen refresh can sometimes be slow. This is because memo data is stored outside the table, in a separate file. To increase performance, Paradox gives you a way to avoid displaying memo fields until you really want to see them. Use the Complete Display property to control the display of memo data.

When you uncheck Complete Display on a Paradox field, Paradox displays only the amount of data stored with the table (not the contents of the .MB file) until you move to that field of that record.

When you uncheck Complete Display on a dBASE field, Paradox displays a marker indicating the existence of data until you move to that field of that record.

Double-click a memo field to see the full memo value, including the contents of the .MB file.


The Magnification Property

When you inspect a graphic or OLE field, you see Magnification on its menu.

Use Magnification to

Shrink the size of the displayed graphic or OLE object to 25% or 50%

Restore its original size

Expand it to 200% or 400% of the original size

By default, Paradox displays a graphic or OLE object at 100% of its original size.

Best Fit

Best Fit shrinks the graphic or OLE object to fit in the field, while retaining the proportions of the original object. When you choose Best Fit, changing the column width or row height changes the size of the object.


Saving Changes to a View

Choose Properties | View Properties | Save to save all the property changes you've made in a Table window, including property changes to individual fields. This saves the appearance of the table as you've changed it. Paradox saves data as it is entered, so File | Save and File | Save As are not necessary and are dimmed in the Table window.

Paradox saves the properties you define for a Paradox table's view in the .TV file. (Properties for dBASE tables are saved in the .TVF file.)

If you try to close a Table window where you have changed any properties without saving these changes, Paradox displays a dialog box asking if you want to save your changes.

Choose:	To:

Yes	Save and close the window

No	Lose the changes and close the window

Cancel	Close the dialog box without changing anything and return to the window

Help	View help on saving changes

If you change properties, then change your mind about them, you can choose Properties | View Properties | Restore. Paradox restores all properties to the settings they had when you opened (or previously saved) the table properties.

You can delete a table's .TV (or .TVF) file by choosing Properties | View Properties | Delete. When you delete a table's unique property file, Paradox uses default property settings.

See Also

File | Utilities | Copy

File | Utilities | Rename

Creating default table properties


Creating Default Table Properties

Suppose you know that you'll most often want number fields displayed in the General format, or date fields aligned left, or text displayed in blue. Paradox gives you the ability to establish default properties for each field type and store them in a default file.

Creating a default table

One way to establish default properties for each field type is to create a table in your private directory that includes one of each available field type. Name this table Default.

Open DEFAULT.DB in a Table window. Enter Edit mode and inspect each field to set the properties for that field type. When you're finished, choose Properties | View Properties | Save to save the property settings in the DEFAULT.TV file.

Whenever you work with a table that does not have its own .TV file, Paradox applies the settings from DEFAULT.TV to it. Table-specific .TV files override the settings in DEFAULT.TV.

Copying a table to DEFAULT.DB

Another way to create a DEFAULT.TV file is to use a table you've already customized to your liking, and copy it to DEFAULT.DB in your private directory. Paradox then uses its .TV file for default property settings. Remember to use the Paradox Copy utility when copying tables.

Tip:	If you're short on disk space, you can use the Windows File Manager to delete DEFAULT.DB, and any other DEFAULT files (like .PX or .VAL files) that were copied along with the table. All you really need is DEFAULT.TV.

dBASE tables

You create a default property file for a dBASE table the same way you do for a Paradox table. The only difference is that dBASE table properties are stored in a file with the .TVF extension. The default property file for dBASE tables is DEFAULT.TVF.

See Also

File | Utilities | Copy

File | Utilities | Rename

Saving changes to a view


Changing data

Locking records

Editing data in a Table window

Using Table Lookup

Data entry shortcuts

Saving table data


Locking Records

Choose Record | Lock or press F5 to place a lock on the selected record. The Desktop's status bar tells you when you've locked a record.

After you lock a record, the Lock command changes to Unlock. You must unlock the record before another user can change it.

On a network

Locking is important if you're using Paradox in a multiuser environment. When a record is locked, other users can view it, but cannot edit or delete it. If you try to change a record locked by another user, Paradox tells you the record is locked by another user. A record is automatically locked for you when you begin to edit it. A record is automatically unlocked when you move to another record.

On a single computer

Traditionally, the term multiuser has been equivalent to the term network. This is true in Paradox too, but you can also place yourself in a multiuser situation working on a standalone system.

For example, if you open a table, Paradox places a lock on it. This ensures you an accurate view of the table; it cannot be restructured or deleted while you're using it. This is true whether you open the table in a form, a report, a query, or any other type of object.

Sometimes these automatic locks prevent you from performing an operation on a table. For example, you're prevented from deleting an open table.

In these circumstances, your various windows of table data act as various users of the table.

See Also

File | Multiuser | Display Locks

Table Locks dialog box

The effects of locking from the Desktop

Networking Paradox


Table View Button

Click the Table View button on the SpeedBar in a Form window when you're viewing a table's data on the form and want to see the table in a Table window. Clicking this button is the same as choosing Form | Table View or pressing F7.

Paradox opens the table in a Table window. If you begin from a multi-table form, you see its master table.

To return to the Form window, either click the Form window or click the Quick Form button on the Table window SpeedBar (the same as choosing Table | Quick Form or pressing F7).


Editing Data in a Table Window

To enter or edit data in a Table window,

1.	View the table, then either

Click the Edit Data SpeedBar button

Choose Table | Edit Data

Press F9

2.	Place the insertion point in the field you want to edit. Whatever you type replaces what's in the field.

Note:	You can edit just a portion of the field by using Field View.

In addition to the usual Edit menu commands, you can press Ctrl+D in any field to copy a field value from the record above it.

To insert today's date in a date field, press Spacebar three times. Paradox adds the three elements of a date separately.

In Edit mode, your data is saved automatically every time you move off a record.

To exit Edit mode, choose Table | End Edit, press F9, or click the Edit Data SpeedBar button.

See Also

Edit | Paste Link

Inserting records

Deleting records

Adding records from another table

Editing data in a Form window

Field View

Entering special data types


Edit Data Button

Click the Edit Data button to toggle in and out of Edit mode when you're viewing data in a table or form. Clicking this button is the same as choosing Edit Data or End Edit on the Form or Table menus.

Note:	You can edit just a portion of the field by using Field View.

In addition to the usual Edit menu commands, you can press Ctrl+D in any field to copy a field's value from the record above it.

To insert today's date in a date field, press Spacebar three times. Paradox adds the three elements of a date separately.

In Edit mode, your data is saved automatically every time you move off a record. You do not have to save it explicitly.

See Also

Edit | Paste Link

Inserting records

Deleting records

Adding records from another table

Editing data in a Form window

Field View

Entering special data types


Editing Data in a Form Window

Forms in Paradox display the data from your tables in an alternate format. You can edit data in either a Form window or a Table window.

To open a form from a Table window, you can

Click the Quick Form SpeedBar button

Choose Table | Quick Form

Press F7

Paradox displays the preferred form, if one exists. If there is no preferred form or if the preferred form cannot be used, Paradox creates a default form for you. The form displays the fields from the table.

To toggle back to the Table window again, either

Click the Table View SpeedBar button

Choose Form | Table View

Press F7

Click the Table window


Quick Form Button

To see a table in a Form window, click the Quick Form SpeedBar button. This is the same as choosing Table | Quick Form. Paradox opens the table as a form, using a default layout if you have not specified a preferred form.

To specify a preferred form, choose Properties | Preferred | Form.


Field View

In Field View you can edit any part of a field without overwriting the whole field.

To enter Field View, select the field, then either

Click the Field View SpeedBar button

Choose Table | Field View (or Form | Field View, if you're in a form)

Press F2

Click the selected field again

To exit Field View, either

Click the Field View SpeedBar button again

Choose Table | Field View (or Form | Field View if you're in a form)

Press F2

Select a different field

Additionally, pressing Enter, Tab, or Alt with the arrow keys lets you exit Field View and move to a different field.

Tip:	If you want to move from field to field and remain in Field View, press Ctrl+F2 to enter Persistent Field View. Press Ctrl+F2 again to exit Persistent Field View.

When viewing a table, if you enter Field View on a memo, formatted memo, graphic, or OLE field, Paradox places the selected field's value on top of the table. This is called Memo View. For memos and formatted memos, you have greater use of the keyboard in Memo View.

When viewing a form, Paradox does not display a special window to show you the contents of a memo, formatted memo, graphic, or OLE field. These fields always appear in the size and shape you specify from the Form Design window.

See Also

Navigation and selection keys

Keys used in Memo View


Field View Button

Click the Field View button to toggle in and out of Field View when editing data in a table or on a form. Clicking this button is the same as choosing Field View on the Form or Table menus.

In Field View you can edit whatever part of a field you want without overwriting the whole field.

Tip:	If you want to move from field to field and remain in Field View, you can press Ctrl+F2 to enter persistent Field View.

When viewing a table, if you enter Field View on a memo, formatted memo, graphic, or OLE field, Paradox places the selected field's value on top of the table. This is called Memo View. For memos and formatted memos, you have greater use of the keyboard in Memo View.

When viewing a form, Paradox does not display a special window to show you the contents of a memo, formatted memo, graphic, or OLE field. These fields are always displayed in the size and shape you specify from the Form Design window.

See Also

Navigation and selection keys

Keys used in Memo View


Inserting Records

Usually you add a new record to a table by moving beyond the end of the last record, making the new record the last record. But you can press Ins and insert a new record wherever you want.

If the table is keyed, Paradox automatically moves records to their correct locations in the table.

If the table is not keyed, and you want to insert a new record into your table at a particular place other than the last record, move to the position you want and press Ins. This opens a new blank record above the insertion point's position. Enter the data for the new record.

To add records from another table, choose File | Utilities | Add from the Desktop. The tables must have compatible structures.

See Also

Adding records from another table


Deleting Records

Select any field in the record, then press Ctrl+Del or choose Record | Delete to delete the whole record from the table or form.

Caution: When using a Paradox table, you cannot retrieve a deleted record, so be sure you want to delete the entire record before you choose Delete.

When using a dBASE table, deleting a record does not permanently remove it. You can even view deleted records with the Show Deleted command.

See Also

Form | Show Deleted

Table | Show Deleted


Locked in a Field and Can't Get Out?

Three things can cause you to be unable to leave a field:

The field requires that a value be entered, and you have not entered one (maximum or minimum values have been specified, or a picture string has been specified, for example).

The field requires specific values from a lookup table, and you have not provided an acceptable one.

The value you entered violates referential integrity requirements.

The status line at the bottom of the Desktop tells you what the problem is. If you cannot see a status line, maximize the Paradox window.

To get out of a field that requires a value to be entered, type any character or number.

If the field is constrained by a lookup table,

Press Ctrl+Spacebar to see the lookup table and choose a value from that.

If no lookup table appears, press Esc. Find out what the acceptable values are before you continue.

If the field is constrained by referential integrity requirements, press Esc to undo your entry. Find out what the acceptable values are before you continue.


Entering special data types

Entering graphic data

Entering OLE data

Entering memo data

Entering formatted memo data


Entering Graphic Data

Data in a graphic field can be any picture, or graphic, that is a scanned image, line art, or graphic file created in a paint or draw application.

Paradox gives you two ways to place a graphic in a field:

Using the Cut, Copy, and Paste commands

Using the Paste From command

You can't edit a graphic in Paradox; you must edit it in its source application.

To paste a graphic into a graphic field, you enter Edit mode and paste the graphic from the Clipboard or a file.

Placing a graphic using Cut and Paste

To place a graphic in a graphic field, from a Windows application that supports the Clipboard,

1.	Open the graphic file in its source application.

2.	Select the graphic and cut or copy it to the Clipboard.

3.	Open the Paradox Table or Form window you want to place the graphic in.

4.	Enter Edit mode.

5.	Select the graphic field you want the graphic in.

6.	Choose Edit | Paste.

Paradox places the graphic from the Clipboard in the graphic field.

Placing a graphic using Paste From

Paradox lets you place .BMP, .PCX, .TIF, .GIF, or .EPS graphic files directly into a graphic field without opening the graphic's source application. Simply use Paradox's Edit | Paste From command.

To place a graphic in a graphic field without using the Clipboard,

1.	Select the graphic field you want the graphic in.

2.	Enter Edit mode.

3.	Choose Edit | Paste From. The Paste From Graphic File dialog box opens.

4.	Choose the graphic file you want.

5.	Choose OK.

Paradox places the graphic in the graphic field.

Note:	When you paste a graphic into a graphic field, Paradox converts the graphic into the .BMP file format.

See Also

Viewing graphic data


Viewing Graphic Data

When you place a graphic in a table, you might not be able to see all of it. Adjust the column width and line spacing to see as much of the graphic as you want.

You can enter Field View to see the whole graphic. When you enter Field View on a graphic field, Paradox fills the whole Table window with the graphic, displaying only the graphic.

To speed up scrolling

It takes a little longer to scroll through the records of a table with graphics, so you can inspect the field and uncheck Complete Display in order to display only the selected record's graphic field value. When Complete Display is checked, all graphics are shown at all times.

Size

If the graphic field on your form is the wrong size to display the graphic values of each record, you can change to the Form Design window to resize the field object or to inspect the field and choose Magnification | Best Fit. You can also check or uncheck its Complete Display property.

See Also

The Magnification property

Entering graphic data


Entering OLE Data

When you use OLE objects in Paradox fields, you can access the power of the OLE server to work with the object from within Paradox.

To place a value in an OLE field,

1.	Open an OLE-capable Windows application. This is called the OLE server. Paradox is the OLE client in this operation.

2.	Copy the object you want to place in the field.

3.	In the Paradox table or form, select the OLE field.

4.	Choose Edit | Paste. The OLE object appears in the field.

Once you place an OLE value in Paradox, you can access its source application directly from Paradox to make any changes you need. The changes affect only the OLE object in Paradox. The original object you copied is not changed.

See Also

What's OLE?

Changing an OLE field

Edit | Paste


What's OLE?

OLE stands for Object Linking and Embedding. The object in an OLE field maintains a link to the OLE server application. When you use OLE objects in Paradox fields, you can access the power of the OLE server to work with the object from within Paradox.

OLE fields can contain any kind of data, from graphics to text to calculations to sound.

Use an OLE object in a document when you want to be able to open the OLE server application from the document. You do this by double-clicking the Paradox OLE field. Changes you make to the OLE object are then updated in your Paradox table or form. The original file you pasted into your document is not affected---only the copy that is on your document.

Paradox is an OLE client only. You cannot use OLE to place Paradox field values in other applications. You can place OLE values in Paradox OLE fields, or in OLE design objects in forms and reports.

See Also

Entering OLE data

Changing an OLE field


Changing an OLE Field

To change or work with an OLE field, you use Paradox to open the object's OLE server application. If you're in a Table window, you need to enter Field View first.

1.	Inspect the OLE field on the Paradox table or form, then choose Define OLE and choose the application name to see a list of available commands.

2.	Choose the OLE server command you need to work with the OLE object.

3.	Change or work with the OLE object.

4.	When you're through, close the OLE server application. When prompted to update the OLE object, choose Yes.

Your changes appear only in the OLE object in your Paradox table or form. They do not affect the original object from which the OLE object was copied.

See Also

What's OLE?

Entering OLE data


Entering Memo Data

Select the memo field and choose Field View. Begin typing. Paradox places no limits on the amount of data you can enter.

When entering data in a memo field using a table, the Field View window scrolls downward to fit all the text you type. Text automatically wraps at the right side of the window. Changing the size of the window changes the text wrapping.

To insert a hard carriage return (line break), press Enter.

Tabs are set for every half inch. Press Tab to use them.

Press Backspace to delete text one character at a time to the left of the insertion point.

Press Ctrl+Backspace to delete the whole word to the left of the insertion point.

Press Del to delete text one character at a time to the right of the insertion point.

You can use Edit menu commands, as well as keystrokes, to work with selected blocks of text.

To select blocks of text using the mouse, drag across the text you want. Paradox highlights selected text.

To select blocks of text using the keyboard, hold Shift and use the arrow keys to highlight the text you want.

See Also

Field view

Wrapping in memo fields

Ending memo field edit


Wrapping in Memo Fields

If you're entering data in a Form window, the text in a memo field should wrap automatically at the right side of the field object as you type. If the text does not wrap automatically, the Word Wrap property of the field object has been turned off. You must toggle to the Form Design window, inspect the field, and turn Word Wrap on. Word Wrap is on by default.

When you reach the bottom of the text object, the text automatically scrolls up so you can see what you're typing. When you leave the field, Paradox displays the beginning data.

See Also

Entering memo data

Word Wrap


Ending Memo Field Edit

When you're finished editing the memo field, close the Field View window. You can

Click the Field View SpeedBar button

Choose Table | Field View

Double-click the Control menu of the Field View window

Choose Close from the Control menu of the Field View window

Press Esc

Paradox saves the data in the memo field when you leave Field View. The amount of the memo visible in the table depends on the column width and the field size of the memo field. You can change the column width by dragging the grid line in the table's header area.

See Also

Field view

Entering memo data

Wrapping in memo fields


Entering Formatted Memo Data

Entering data

You enter data into formatted memo fields exactly the same as you do into memo fields. Simply enter Field View and type the data.

Formatting data

Select the data with the mouse (drag over the text to be formatted) and inspect the selected text to see the Formatted Memo menu:

Choose:	To:

Alignment	Align the selected text left, center, right, or justified.

Line Spacing	Speficy the amount of space between lines of selected text.

Font	Change the typeface, size, style, or color of selected text. You can also click the top of the Font menu to display the Font palette.

See Also

Search & Replace dialog box

Using Search & Replace


Using Search & Replace

To search for and replace text in a memo field or formatted memo field,

1.	Select the block of text you want Paradox to search.

In a Table window, make sure you are in Field View and Edit mode (click the Field View and Edit Data SpeedBar buttons).

In a Form window, highlight the block of text you want to search in a field. Make sure you're in Edit mode.

2.	Choose Edit | Search Text. This opens the Search & Replace dialog box.

3.	Enter the text you want Paradox to search for in the Search For text box.

4.	Enter in the Replace With text box any replacement text you want.

5.	Check Case Sensitive to search for the text exactly as you typed it, including capitalization.

6.	Check Advanced Pattern Match to use an extended list of wildcards in the search.

7.	Choose Search. Paradox finds and highlights the first occurrence of the value you entered in Search For.

Tip: You can move the Search & Replace dialog box out of the way, so you can see the highlighted text as it is found.

8.	Choose Replace for Paradox to replace the text with the value you entered in Replace With, and then move to the next occurrence of the value you entered in Search For. You can Continue to choose Replace each time Paradox finds a value you want to replace. If you do not want to replace the value, choose Search to leave it intact and move to the next occurrence.

9.	Choose Replace All for Paradox to replace all occurrences of the Search For value with the value you entered in Replace With.

Note:	If you select a region and then do a Search & Replace, Paradox will search and replace only within the selected region. Choosing Replace All, however, will search the whole file and not just the selected region.

You can use the Search & Replace dialog box on text objects in either the Form Design or Report Design window.

See Also

Search & Replace dialog box

Common wildcards

Extended list of wildcards


Search & Replace Dialog Box

Use the Search & Replace dialog box to search for and replace text (called a string) in a memo field or formatted memo field, or in a text object in a design window.To open the Search & Replace dialog box, select the block of text you want Paradox to search, then choose Edit | Search Text.

Dialog Box Options

Search For

Enter the string you want Paradox to look for.

Replace With

Enter the replacement string (in ordinary searches) or the translation string (in Advanced Pattern Match searches).

Case Sensitive

Check this to search for the text exactly as you typed it, including capitalization.

Advanced Pattern Match

Check this to use an extended list of wildcards in the search.

Search

Choose Search to begin the search. Paradox finds the first matching value, highlights it, and displays the message "Match found" in the status bar. If the value doesn't exist, Paradox displays the message "No match found" in the status bar.

Replace

Choose Replace to change the string to the value you entered in Replace With. Paradox replaces the value, then moves to the next occurrence of the Search For value.

If you do not want to replace the string, choose Search again. Paradox moves on to the next occurrence of the Search For value.

Replace All

Choose Replace All to replace all occurrences of the Search For value.

See Also

Using Search & Replace

Common wildcards

Extended list of wildcards


Common Wildcards

You can use two wildcards in any search string you specify using Search & Replace or Locate and Replace.

Wildcard	Represents

@	Any single character

..	Any value

To search for these characters as literals, you must precede them with a backslash ( \ ).

See Also

Using Search & Replace

Using Locate and Replace

Extended list of wildcards


Extended List of Wildcards

You can use an extended set of wildcards in a search string when you check Advanced Pattern Match in the Search & Replace dialog box or in the Locate and Replace dialog box.

Wildcard	Represents

@	Any single character

..	Any value

^	Beginning of field

$	End of field

*	Match none or more of the expression before the *

+	Match one or more of the expression before the +

?	Match one or none of the expression before the ?

 | 	Match either the characters before or after the vertical bar

[abc]	Match any of the characters contained within the brackets

[^abc]	Match any characters not contained within the brackets

(abc)	A group (a series of literals)

\	Use the following wildcard operator as a regular character

\r	Carriage return

\n	Line feed

\t	Tab

\f	Form feed

See Also

Using Search & Replace

Using Locate and Replace

Common wildcards

Sample search strings with wildcards


Sample Search Strings with Wildcards

Here are some examples of wildcard characters in a search string and what they find when you choose Advanced Pattern Match in the Search & Replace dialog box.

Search string	Finds

co@l	cool and coal, but not col

s..ch	search, scorch, and such

^any	any only when it occurs at the start of a paragraph (when Case Sensitive is not checked)

able$	able only when it occurs at the end of a paragraph (and is not followed by a period)

(success)	success

[success]	Any s, u, c, or e

[^success]	Any character except s, u, c, or e

a | (an)	Either a or an ("an" is a group here)

hands?	hand and hands (hand with or without the s)

suc?es?	success or Sue (when Case Sensitive is not checked). The ? stands for one "c" or none and one "s" or none.

suc*es*	success or Sue (when Case Sensitive is not checked). The * stands for any number of c's or none at all, and any number of s's or none at all.

suc+es+	success only; the + stands for one or more c's and one or more s's

4\^2	4^2 (read "four squared"). Without the backslash, only paragraphs ending in 4 followed by a paragraph starting with 2 would be found.

apples\\pears	apples\pears

apples\\\\pears	apples\\pears

Note:	You can use ?, *, or + if you're not sure how to spell success.

See Also

Using Search & Replace


Using Table Lookup

Table Lookup lets you refer to another table to look up the acceptable values for a field and then automatically copy values in the lookup table to the table you're editing.

To use Table Lookup,

1.	Press Ctrl+Spacebar to view the lookup table. Select the value you want from the highlighted field.

2.	To make sure you have the right value, you can scroll to other fields; the scroll lock is on in a lookup table, so the lookup field stays onscreen while you scroll.

3.	Choose OK to close the lookup table and insert the selected value into your table. Some table lookups are designed to also fill in other fields with the same name and type as the fields in the lookup table.

See Also

Using Just Current Field with a Private Lookup

Using Just Current Field with Help and Fill

Using All Corresponding Fields with Fill No Help

Using All Corresponding Fields with Help and Fill

Defining a table lookup


Using Just Current Field with a Private Lookup

Suppose you're editing an Orders table in which the Customer No field has a table lookup defined as Just Current Field and Private Lookup to the Customer No field of Customer. This means any value entered in the Customer No field of the Orders table must be a value that already exists in the Customer No field of the Customer table. With Private Lookup, the data entry person must already know what these values are.

If you enter an invalid value, Paradox displays the message "Field value fails lookup validity check." You cannot move off the record until you enter a valid value.

To get out of a field that requires a value to be entered, type any character or number.

If the field is constrained by a lookup table,

Press Ctrl+Spacebar to see the lookup table and choose a value from it.

If no lookup table appears, press Esc. Find out what the acceptable values are before you continue.

If the field is constrained by referential integrity requirements, press Esc to undo your entry. Find out what the acceptable values are before you continue.

See Also

Using Table Lookup

Using Just Current Field with Help and Fill


Using Just Current Field with Help and Fill

Suppose you're editing the Orders table in which the Customer No field has a table lookup defined as Just Current Field and Help and Fill to the Customer No field of Customer. In Orders, when the Customer No field is selected, you'll see the message "Press Ctrl+Spacebar for lookup" in the Desktop status area. You can either enter a valid value in the field or press Ctrl+Spacebar.

If you press Ctrl+Spacebar, the lookup table (Customer) appears in a dialog box on top of the table you're editing. A scroll lock is placed to the right of the lookup field (Customer No). If there is a valid value in the table you're editing, the current record marker indicates that value in the lookup table. For example, if you enter 1320 and then press Ctrl+Spacebar, the current record marker is on the value 1320 in the lookup table.

From the lookup table, select the value you want to enter. When you choose OK, the value is filled in and the dialog box containing the lookup table disappears.

If you enter an invalid value, Paradox displays the message "Field value fails lookup validity check." You cannot move off the record until you enter a valid value.

See Also

Using Table Lookup

Using Just Current Field with a Private Lookup


Using All Corresponding Fields with Fill No Help

Suppose you're editing the Orders table in which the Customer No field has a table lookup defined as All Corresponding Fields and Fill No Help to the Customer No field of Customer. This Orders table also has a Name field that contains the customer's name.

When you enter a valid value in the Customer No field of Orders, the correct value for the Name field is automatically filled in. This is because the Name field of Orders corresponds to the Name field of Customer.

If you enter an invalid value, Paradox displays the message "Field value fails lookup validity check." You cannot move off the record until you enter a valid value.

To get out of a field that requires a value to be entered, type any character or number.

If the field is constrained by a lookup table,

Press Ctrl+Spacebar to see the lookup table and choose a value from it.

If no lookup table appears, press Esc. Find out what the acceptable values are before you continue.

If the field is constrained by referential integrity requirements, press Esc to undo your entry. Find out what the acceptable values are before you continue.

See Also

Using Table Lookup

Using All Corresponding Fields with Help and Fill


Using All Corresponding Fields with Help and Fill

Suppose you're editing the Orders table in which the Customer No field has a table lookup defined as All Corresponding Fields and Help and Fill to the Customer No field of Customer. This Orders table also has a Name field that contains the customer's name.

You can enter data into the Customer No field by typing it in, or you can press Ctrl+Spacebar to display the lookup table (Customer) in a dialog box. When you choose a Customer No value, Paradox enters it and all corresponding field values (like Name) in the Orders table.

If you enter an invalid value, Paradox displays the message "Field value fails lookup validity check." You cannot move off the record until you enter a valid value.

See Also

Using Table Lookup

Using All Corresponding Fields with Fill No Help


Data Entry Shortcuts

Use these keyboard shortcuts for faster data entry.

Press	To

Home	Move to the first field of the table, remaining on the selected record.

Ctrl+Home	Move to the first field of the first record of the table.

End	Move to the last field of the table, remaining on the selected record.

Ctrl+End	Move to the last field of the last record of the table.

Ctrl+Backspace	Delete the word to the left of the insertion point. Note: Ctrl+Backspace works only when you're in Field View and do not have text selected.

Ctrl+D	Duplicate the information from the record above the selected field to the selected field.

Esc	Undo a field edit (you must press Esc before you leave the field!).

See Also

Navigation and selection keys

Keyboard shortcuts for table operations


Saving Table Data

You do not use the Save or Save As commands to save a table's data. This is because

Paradox automatically saves the data you enter as soon as you leave a record.

You name the table when you create it.

You save changes to a table's property by choosing Properties | View Properties | Save from the Table window. (If you make changes to a table's properties and do not save them, Paradox prompts you to save them when you close the table.)

You use File | Utilities | Rename to rename a table.

See Also

File | Utilities | Rename


Referential integrity

Defining referential integrity rules

Rearranging fields and effects on key fields

Key fields

Composite key fields

Secondary indexes

Validity checks

Table Lookup

Establishing password security

Specifying a table language driver

Dependent Tables


Defining Referential Integrity Rules

Sometimes you want to specify that a field value entered in one table (the child table) must already exist in a specified field of another table (the parent table). This concept is called referential integrity. Referential integrity is available only for Paradox for Windows tables.

Before you define referential integrity,

You must have a primary key in your table.

The tables involved must be in the same directory.

To define referential integrity rules,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	In the upper right corner of this dialog box, choose the arrow next to the Table Properties drop-down list and choose Referential Integrity. You must have a primary key in your table before you can add referential integrity.

3.	Choose Define to open the Referential Integrity dialog box.

The Referential Integrity dialog box shows you a list of tables in the current directory. The list includes only Paradox tables.

4.	Select a table from the list.

Defining a referential integrity rule assures that all related records are handled in a consistent manner during data entry.

For instance, if the Customer table (the parent) has orders associated with it in the Orders table (the child), referential integrity assures that no order record exists in the Orders table that does not have a Customer record associated with it. Orphaned orders are not allowed. If you define referential integrity on a table that already contains data, Paradox places existing child records with no parent into the temporary Keyviol table in your private directory.

In Paradox, data entry in either forms or tables must follow the rules of referential integrity.

When you set a referential integrity rule, the rule is bidirectional, meaning that data entry or changes on either table associated with the rule follows that rule. The referential integrity rule is maintained in the .VAL file for both tables.

You cannot use Graphic and memo fields in defining referential integrity.

See Also

Create Paradox Table dialog box

Restructure Paradox Table dialog box

Referential Integrity dialog box

Changing or deleting referential integrity

Creating self-referential integrity

Specifying table type

Updating tables with referential integrity defined


Referential Integrity Dialog Box

Use the Referential Integrity dialog box to define a referential relationship between two tables. First select a field from the table you are creating or restructuring (the child table), then select a table containing all valid values for your selected field (the parent table).

To open the Referential Integrity dialog box, choose Referential Integrity from the Table Properties list of the Create Table dialog box or the Restructure Table dialog box, and then choose the Define button..

Dialog Box Options

Fields

Paradox displays all the fields from the table you're working with (the referential integrity table).

Note: Memo, formatted memo, graphic, OLE,idh_glos_ole and binaryidh_glos_binary field types are dimmed in the Fields list. You cannot create referential integrityidh_glos_refint on these field types.

Add Field arrow

Choose the field you want to look to the parent table for its values; then click the Add Field arrow or press Alt+A. The field appears in the Child Fields section of the diagram.

Remove Field arrow

To remove a field from the diagram, select the field, then click the Remove Field arrow or press Alt+R.

Child Fields

The fields you select from the Fields list appear in this area of the referential integrity diagram.

Table

Paradox displays tables from the working directory in the Table list. Choose the table you want to be the parent table.

Parent's Key

The field (or fields) that make up the parent table's key appear in this area of the referential integrity diagr am. If the table you choose is not keyed, or if there is a problem with the key, a message appears in the dialog box to prompt you for action.

Update Rule

With the Child Fields and the Parent's Key in the diagram area, choose the update rule you want. Paradox provides two update rules for tables that use referential integrity. You must use one of these rules:

Cascade	If you choose Cascade, any change you make to the value in Parent's Key is automatically made in the table it is linked to by referential integrity. Cascade is Paradox's default update rule.

Note: To cascade an update across tables, Paradox must place a lockidh_glos_lock on the target table. If the lock is denied (because another user has already placed a lock), Paradox cannot perform the cascade update.

Prohibit	If you choose Prohibit, you cannot change a value in the parent's key if records in the key match the value in the child table. For example, if the value 1356 exists in the Customer No field of Orders, Paradox prohibits you from changing that value in the Customer No field of Customer. (You can change it only if you first delete or change all records in Orders that contain it.) If the value does not exist in Orders, Paradox permits the change in Customer.

Strict Referential Integrity

Choose Strict Referential Integrity to protect your data from being corrupted by earlier versions of Paradox (the default). This means you will not be able to edit tables with strict referential integrity using Paradox 3.5 or 4.0.

Note: The name you type appears only in the Referential Integrity list in the Create Table or Restructure Table dialog box. When you complete the restructure,idh_glos_rest all the referential integrity relationships you've definedidh_glos_define will be saved in the child table's .VAL file.

See Also

Save Referential Integrity As dialog box

Defining referential integrity rules

Changing or deleting referential integrity

Creating self-referential integrity


Changing or Deleting Referential Integrity

To delete a referential integrity name you've defined, select it, then choose Erase.

To change a referential integrity relationship,

1.	Select it from the list of named referential integrity relationships in the Create Table (or Restructure Table) dialog box.

2.	Choose Modify to open the Referential Integrity dialog box with the selected referential integrity relationship filled in. Paradox must obtain locks on all tables involved in the referential integrity when you modify it. You can change

The name of the referential integrity (save the referential integrity with a different name)

The update rule

The Strict Referential Integrity setting

3.	Choose OK to save the changes.

See Also

Create Paradox Table dialog box

Restructure Paradox Table dialog box

Referential Integrity dialog box

Creating self-referential integrity

Restructuring tables linked by referential integrity

Updating tables with referential integrity defined


Creating Self-Referential Integrity

You can create referential integrity on a table so that one field refers to the table's key field.

For example, suppose you have a table that lists employees. The key field of this table is Employee ID. There is also a Supervisor field. The supervisor is also an employee. You could create referential integrity to make sure the value you enter in Supervisor is also a value in Employee ID.

When you create self-referential integrity, you must use the Prohibit Update rule.

Note:	You cannot create a circular reference. That is, you cannot create referential integrity in which a field refers to itself.

To open the Referential Integrity dialog box, first choose Referential Integrity from the Table Properties list of the Create Table dialog box or the Restructure Table dialog box, then choose the Define button.

See Also

Create Paradox Table dialog box

Restructure Paradox Table dialog box

Referential Integrity dialog box

Changing or deleting referential integrity

Updating tables with referential integrity defined

Prohibit Update and Cascade Update


Updating Tables With Referential Integrity Defined

Referential integrity ensures that the ties between like data in separate tables cannot be broken. When establishing referential integrity rules, you can specify how you want Paradox to handle updated information in the tables. You can tell Paradox to prohibit updates to any record that has other records related to it, or you can instruct Paradox to cascade updates made to the record to all records associated with the updated record.

Prohibit Update and Cascade Update

For example, consider the Customer table with the associated Orders table, with referential integrity defined. If you choose Prohibit Update, Paradox does not let you change the key field for the Customer table if orders were associated with that customer. If you choose Cascade Update, Paradox causes any change to the key field for the Customer table to cascade, or flow down, to the Order table records associated with that customer. This keeps the data consistent between files.

See Also

Defining referential integrity rules


Save Referential Integrity As Dialog Box

Use the Save Referential Integrity As dialog box to name and save a relationship you constructed in the Referential Integrity dialog box. To open the Save Referential Integrity As dialog box, choose OK in the Referential Integrity dialog box.

Referential Integrity Name

The name you type in this dialog box appears only in the Referential Integrity list in the Create Table dialog box or the Restructure Table dialog box. When you complete all restructures, the referential integrity relationship is saved as a .VAL file of the same name as your table in the working directory.

See Also

Defining referential integrity rules


Secondary Indexes

A secondary index is a field or group of fields that you define as

A map to the values in the specified field

An alternative sort order for the table

A field you can link the table on

When sorting a keyed table, you must use a secondary index. Only an explicitly defined secondary index can override the primary sort order established by a table's key definition.

Note:	A table must have a key identified before you can assign a secondary index.

A table can have more than one secondary index. In fact, you could identify each field of the table as a secondary index. This would let you sort the table on any of its fields. You can also create composite secondary indexes by combining two or more fields.

You cannot create a secondary index on memo, formatted memo, graphic, OLE, or binary field types.

See Also

Defining a secondary index

Composite secondary indexes

Indexing dBASE tables


Defining a Secondary Index

To define a field or group of fields as a secondary index,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Click the drop-down arrow in the Table Properties panel and choose Secondary Indexes from the list. The Define button becomes available and any existing secondary indexes appear.

3.	Choose Define to open the Define Index dialog box. The Fields list displays the fields you can use as a secondary index. BLOB fields are dimmed.

4.	Select the field you want to create the secondary index on, then choose the Add arrow or press Alt+A to move it to the Indexed Fields list.

5.	Check the Index Options you want: Maintained or Case Sensitive.

6.	Choose Save to create a secondary index on the field and close the Define Secondary Index dialog box. Paradox automatically names indexes you create on a single field with the field's name. If you created a composite secondary index (using more than one field), you have to give the index a name in the Save Index As dialog box.

To create another secondary index, choose Define again. As you create secondary indexes, they are listed in the box below the Define button in the Create Table (or Restructure Table) dialog box.

To change a secondary index definition

Select it from the list below the Define button, then choose Modify. The Define Secondary Index dialog box opens with the selected index specification filled in. Change the specifications to what you want, then choose Save.

To remove a secondary index definition

Select its name from the list below the Define button, then choose Erase. The index is deleted.

See Also

Create Paradox Table dialog box

Restructure Table dialog box

Define Secondary Index dialog box (Paradox tables)

Secondary indexes

Save Index As dialog box


Define Secondary Index Dialog Box (Paradox Tables)

Use the Define Secondary Index dialog box to define secondary indexes for Paradox tables. To open the Define Secondary Index dialog box, choose Secondary Indexes, then choose Define in the Create Paradox for Windows Table dialog box or the Restructure Paradox for Windows Table dialog box. Or select an index and choose Modify.

Note:	For Paradox 3.5 tables, you can define a secondary index on only one field. Also, you cannot create a secondary index on a memo, formatted memo, binary, OLE, or graphic field.

Dialog Box Options

Fields

Paradox displays a list of the fields you can use as a secondary index. BLOB fields are dimmed.

Indexed Fields

Select the field you want and use the Add Field arrow [image] to add it to the Indexed Fields list (or press Alt+A). To remove a selected field, use the Remove Field arrow [image].

Change Order

To move a field in the Indexed Fields, select the field and use the Change Order arrows to move it up or down. These arrows become available when two or more fields are in the Indexed Fields. Change the order of the fields to change the sort order of the index.

Index Options

Choose how you want Paradox to treat your secondary indexes:

Maintained	Tells Paradox to maintain the secondary index automatically. This means every time the table changes, Paradox updates the index. This speeds up certain operations like queries. Also, you can link Paradox tables in form and report data models only on maintained indexes.

If you do not check Maintained, Paradox updates the index only when you use it, that is, when you link tables or run a query. The operation that uses the secondary index takes slightly longer using a nonmaintained index, because Paradox must first update the index to recognize values that you've added, deleted, or changed, and then sort the table according to the new index.

Note: Maintained is not available for unkeyed tables.

Case Sensitive	When Case Sensitive is checked, Paradox pays attention to capitalization in sorting. This box is unchecked by default.

Note: Capitalizing a value does not make it unique in a case-insensitive index. Also, Case Sensitive is not available for Paradox 3.5 tables.

See Also

Secondary indexes

Defining a secondary index


Save Index As Dialog Box

Use the Save Index As dialog box to name and save a composite secondary index you've constructed in the Define Secondary Index dialog box. To open the Save Index As dialog box, choose OK in the Define Secondary Index dialog box after defining a composite secondary index.

Index Name

The name you type in this dialog box appears only in the Secondary Index list in the Create Table or Restructure Table dialog box. A secondary index name can be up to 25 characters and include any printable character. Paradox warns you if you are overwriting an existing index.

Note:	Paradox automatically names single-field, case-sensitive indexes with the field's name.


Composite Secondary Indexes

To create a composite secondary index

Open the Define Index dialog box and add all the fields you want to use in the index to the Indexed Fields list. Paradox creates the composite index in order of the fields in the Indexed Fields. When you use this index, Paradox sorts the table by the top field first, then by the next, and so on.

To add a field to Indexed Fields

Choose it in the Fields list, then choose the Add Field arrow or press Alt+A. Paradox adds the field below the selected field in the Indexed Fields list.

To remove a field from the Indexed Fields

Select it and choose the Remove Field arrow or press Alt+R. To remove all fields from Indexed Fields, choose Clear All.

To move a field in Indexed Fields

Select it and use the Change Order arrows to move it up or down. These arrows become available when two or more fields are in Indexed Fields.

To create and name the composite index

Choose Save As. When you name it, the Define Index dialog box closes and the name appears in the list of secondary indexes in the Create Table (or Restructure Table) dialog box. Note: You cannot name a composite index with a field's name. Field names are reserved to automatically name single-field indexes.

See Also

Secondary indexes


Indexing dBASE Tables

You create an index on a dBASE table from the Create Table dialog box or the Restructure Table dialog box. Choose Define to display the Define Index dialog box.

To define a dBASE index,

1.	Select the field you want to create the index on from the Field list. Paradox will add it to the Indexed Field.

2.	Check the options you want: Unique, Maintained, or Descending.

3.	If you want an expression index, click the Expression Index button and add an expression index.

4.	Type in a Subset Condition (filter) Expression if you want one.

5.	Choose OK to open the Save Index As dialog box where you can enter an Index File Name and Index Tag Name.

See Also

Define Index dialog box (dBASE tables)

Save dBASE Index dialog box

Define Secondary Index dialog box (Paradox tables)

Creating an expression index

Maintained indexes


Define Index Dialog Box (Dbase Tables)

Use the Define Index dialog box to define indexes for dBASE tables. To open the Define Index dialog box, choose Define in the Create dBASE IV Table dialog box or the Restructure dBASE IV Table dialog box.

Dialog Box Options

Field List

Paradox displays the fields in your table. Select the one you want to appear in the Indexed Field box.

Indexed Field

Displays the field(s) you've selected.

Expression Index

Click the Expression Index button to create an expression index. The Expression Index box becomes available. Type any formula that results in a value. For example, you could create an expression index such as FIRST_NAME + LAST_NAME, where FIRST_NAME and LAST_NAME are field names.

Options

Choose how you want Paradox to treat your indexes:

Unique	Tells Paradox that each value in the index must be unique. The index accepts only the first occurrence of any duplicate field values.

Maintained	Tells Paradox to maintain the index automatically. This means every time the table changes, Paradox updates the index.

Descending	Check this to have the index sort the table in descending (Z to A) order. If you check Descending and try to link to another table that is sorted in ascending (A to Z) order, you will not be able to perform the link.

Subset Condition (filter) Expression

Lets you create an expression (sometimes called a filter) that evaluates to true or false.

When working with dBASE indexes, it's recommended that the index on your master table be a unique index. Paradox treats dBASE maintained, unique indexes like Paradox primary keys. If you structure your master table this way, your dBASE data model will work just like the Paradox data models. You can link dBASE tables using a combination of fields, single-field indexes in the .MDX file, and expression indexes.

See Also

Indexing dBASE tables

Creating an expression index

Creating a subset condition expression

Save dBASE Index dialog box

Maintained indexes


Maintained Indexes

You tell Paradox to automatically maintain a dBASE index in the Define Index dialog box.

When you check the Maintained option, Paradox updates the index every time the table changes. This speeds up certain operations like queries.

Paradox saves a maintained index as part of an .MDX file and gives the .MDX file the same name as the table. This is your production index. It is recommended that you use production indexes when working in Paradox.

When you save a maintained index, Paradox asks you for a tag name. The .MDX file can contain several maintained index specifications.

Maintained is unavailable for dBASE III+ tables.

Non-maintained indexes are assigned the .NDX file extension. You cannot have a production .NDX file.

You must use the Order/Range dialog box to open a non-maintained index each time you update the table. You can have only one non-maintained index open on a table.

You cannot restructure a non-maintained index.

See Also

Indexing dBASE tables

Define Index dialog box


Creating an Expression Index

Expression indexes are useful for creating a multi-field (composite) index on a dBASE table.

You create an expression index on a value that you express using any formula that results in a value, using dBASE expression syntax. For example, you could create an expression index such as FIRST_NAME + LAST_NAME, where both FIRST_NAME and LAST_NAME are field names.

Note:	Some elements of dBASE expressions are not allowed; for example, memory variables, user-defined functions, macro substitution, and references to fields in other tables.

You create an expression index on a dBASE table from the Create Table dialog box or the Restructure Table dialog box. Choose Define to display the dBASE Define Index dialog box.

To create an expression index,

1.	Choose Expression Index. The button name changes to Index Field and the insertion point is placed in the Expression Index text box.

2.	Enter the expression you want.

3.	Choose Index Field to return to the Field List.

Tip:	To use field names in an expression index, position the insertion point in the appropriate text box and click the field you want in the Fields list. For example, to create the expression index FIRST_NAME + LAST_NAME, position the insertion point in the Expression Index text box, then click FIRST_NAME in the Fields list. FIRST_NAME appears in the text box. Enter + and click LAST_NAME in the Fields list.

See Also

Indexing dBASE tables

Creating a subset condition expression


Creating a Subset Condition Expression

A subset condition expression (also called a filter) is an expression that evaluates to true or false. Paradox creates for a dBASE table an index that points only to values that meet the filter's requirements. For example, if you create the subset condition expression State=CA, you tell Paradox to create an index on those values in the State field that match the value CA.

You create a subset condition expression on a dBASE table from the Create Table dialog box or the Restructure Table dialog box. Choose Define to display the dBASE Define Index dialog box.

Enter a subset condition expression in the Subset Condition (filter) Expression text box.

To create a subset condition expression,

1.	Choose Subset Condition (filter) Expression. The button name changes to Index Field and the insertion point moves to the Subset Condition (filter) Expression text box.

2.	Enter the expression you want.

3.	Choose Index Field to return to the field list.

Tip:	To use field names in a subset condition, position the insertion point in the appropriate text box and click the field you want in the Fields list. For example, to create the expression index FIRST_NAME + LAST_NAME, position the insertion point in the Subset Condition (filter) Expression text box, then click FIRST_NAME in the Fields list. FIRST_NAME appears in the text box. Enter + and click LAST_NAME in the Fields list.

See Also

Indexing dBASE tables

Creating an expression index


Save dBASE Index Dialog Box
Save Index As (dBASE) Dialog Box

Use the Save Index As dialog box to specify a file name or tag name for your dBASE table index. To open the Save Index As dialog box, choose OK in the dBASE Define Index dialog box.

Dialog Box Options

Index File Name

If you've specified a nonmaintained index, the Index File Name text box is available. If you've specified a single-field index, Paradox enters the field's name as the file name. If you've specified an expression index, enter the name you want to assign to it. Paradox saves the index with the .NDX extension.

Index Tag Name

If you've specified a maintained index, the Index Tag Name text box is available. Enter the name you want to give the index. This name appears in the Create Table (or Restructure Table) dialog box below the Define button. Paradox creates a file using the table's name and the .MDX extension to store all maintained indexes.


Validity Checks

In Paradox tables, validity checks are rules imposed on a field to ensure that the data entered in the field meets certain requirements. The way you define a validity check determines what can be entered in a field. Paradox provides five kinds of validity checks:

Validity check	Meaning

Required Field	Every record in the table must have a value in this field.

Minimum	The values entered in this field must be equal to or greater than the minimum you specify here.

Maximum	The values entered in this field must be less than or equal to the maximum you specify here.

Default	The value you specify here will be entered in this field automatically, if no other value is entered.

Picture	You specify a character string that acts as a template for the values that can be entered in this field.

To specify a validity check,

1.	Select the field.

2.	In the Field Properties area on the right of the Create Table dialog box, select Validity Checks.

3.	In the panel below, enter the information for any validity checks you want.

When you select a field in the field list, Paradox shows its validity checks down the right side of the window. As you select fields, the validity checks change to reflect the constraints for the selected field.

See Also

Required Field

Minimum and maximum values

Default value

Picture


Required Fields

To define a required field,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Select the field to be required.

3.	Make sure Validity Checks appears in the list box at the top of the Field Properties area on the right of the Create Table dialog box.

4.	Click the Required Field check box.

For every valid record, the required field must contain data before the record is inserted into the table.

Paradox checks that the required field constraint has been met when the record is posted.

To clear a required field definition, click the check box to remove the check.

See Also

Create Paradox Table dialog box

Restructure Table dialog box


Minimum and Maximum Values

To specify a minimum or maximum value for a field,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Select the field.

3.	Make sure Validity Checks appears in the list box at the top of the Field Properties area on the right of the Create Table dialog box.

4.	Type the minimum or maximum value in the edit box. To define a range, enter both minimum and maximum values.

Note:	All values entered as minimum or maximum values must be entered in the number format currently chosen from your Windows Control Panel. The display format in the Minimum text box or Maximum text box is the current Windows display format.

Minimum and maximum validity checks are valid for all field types except memo, formatted memo, graphic, OLE, and binary.

See Also

Create Paradox Table dialog box

Restructure Table dialog box


Default Value

To specify a default value for a field,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Select the field.

3.	Make sure Validity Checks appears in the list box at the top of the Field properties area on the right of the Create Table dialog box.

4.	Type the default value in the edit box.

If a default value has been defined for a field, Paradox automatically enters that value in the field. All you have to do is move to the field and then move off it. You can override the default value by deleting it or replacing it with another value.

Default value validity checks are valid for all field types except memo, formatted memo, graphic, OLE, and binary.

See Also

Create Paradox Table dialog box

Restructure Table dialog box


Picture

A picture is a character string that acts as a template for the values that can be entered in this field.

To specify a picture string for a selected field,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Select the field.

3.	Make sure Validity Checks appears in the list box at the top of the Field Properties area on the right of the Create Table dialog box.

4.	Type the picture statement in the edit box or choose Assist. The Picture Assistance dialog box opens where you can specify your picture statement.

See Also

Create Paradox Table dialog box

Restructure Table dialog box

Getting assistance with pictures

Picture string characters

Picture Assistance dialog box


Getting Assistance With Pictures

In the Picture Assistance dialog box, you can get assistance with pictures you create or with the standard pictures Paradox provides.

To enter your own picture

1. Using characters and symbols, type the picture you want in the Picture text box.

2. Choose Verify Syntax to ensure Paradox can interpret the picture. If the syntax is correct, a message appears in the Picture Assist dialog box telling you the picture is correct.

3. Choose OK to use the picture and close the dialog box.

Paradox provides several standard pictures, available from the Examples list of the Picture Assist dialog box. To use one of them,

1. Choose a picture from the Sample Pictures list. You'll see an explanation of the picture in the message area of the dialog box. For example, if you choose the picture "5{#}[-4{#}," you'll see a message that this picture is for either a 5-digit or a 9-digit U.S. zip code.

2. Choose Use to copy the example to the Picture text box.

3. You can modify the standard template when it's in the Picture text box. If you make a mistake, choose Restore Original to return to the standard template you copied to the Picture text box.

4. When the picture you want is in the Picture text box, choose OK.

See Also

Pictures

Picture string characters

Picture Assistance dialog box


Picture String Characters

You can use these characters in a picture string:

Character	Stands for

#	Numeric digit

?	Any letter (uppercase or lowercase)

&	Any letter (convert to uppercase)

@	Any character

!	Any character (convert to uppercase)

;	(semicolon) Interpret the next character as a literal, not as a special picture-string character.

*	Any number of repeats of the following character

[abc]	Optional characters a, b, or c

{a,b,c}	Optional characters a, b, or c

If you use any other character in a picture string, Paradox treats the character as a constant. When you are entering a value in a field with a picture validity check, and you come to a point where a constant is specified in the picture string, Paradox automatically types the constant.

Examples

#&#&#&	Canadian postal code; for example, 1A2B3C

#####[-####]	U.S. zip code; for example, 12345 or 12345-6789

*!	Any entry; all letters will be in uppercase

{Yes,No}	Either "Yes" or "No"

See Also

Picture Assistance dialog box

Getting assistance with pictures


Picture Assistance Dialog Box

Use the Picture Assistance dialog box to get assistance with pictures you create or with the standard pictures Paradox provides. To open the Picture Assistance dialog box, choose the Assist button in the Create or Restructure Table dialog box.

Dialog Box Options

Picture

Using picture string characters, type the picture you want in the Picture text box.

Verify Syntax

Choose Verify Syntax to ensure Paradox can interpret the picture. If the syntax is correct, a message appears telling you the picture is correct.

Restore Original

You can modify a standard template when it's in the Picture text box. If you make a mistake, choose Restore Original to return to the standard template you copied to the Picture text box.

Sample Value

Type a value, then choose Test Value to see if your picture works.

Test Value

Choose Test Value to ensure Paradox can interpret the value you typed into the Sample Value Text box. The message area below the button reports the result of the test.

Sample Pictures

Paradox provides several standard pictures, available from the Sample Pictures list of the Picture Assist dialog box. Click the drop-down arrow to see this list. When you choose one of these pictures, you see an explanation of it in the message area. For example, when you choose the picture "5{#}[-4{#}]," you see the message that this picture is for either a 5-digit or a 9-digit U.S. zip code."

Add To List

Choose Add To List to open the Save Picture dialog box where you can describe your picture and add it to the Sample Pictures drop-down list. The description you type in the Save Picture dialog box will appear in the message area of the Picture Assistance dialog box whenever you select it from the Sample Pictures list.

Delete From List

Choose Delete From List to delete your picture from the Sample Pictures drop-down list.

Use

Choose Use to copy one of the sample pictures to the Picture text box.

See Also

Pictures

Getting assistance with pictures

Picture string characters


Table Lookup

The Table Lookup function lets you

Require that the values you enter into a field exist in the first field of another table

Refer to another table to look up acceptable values for a field

Automatically copy values from the lookup table to the table you are editing (automatic fill in)

When you specify a lookup table for a field, you are saying the field can contain only values that exist in the first field of another table you specify, the lookup table. You also specify whether the person entering data in the field will be allowed to see the lookup table and copy values from it, or will be required to match the lookup table's values without being able to see them.

Note:	Table Lookup is primarily a data entry tool. It is provided to help enter data that already exists in another table. To establish a more powerful tie between two tables, define a referential integrity relationship. While table lookup ensures that data is copied accurately from one table to another, referential integrity ensures that the ties between like data in separate tables cannot be broken.

See Also

Using Table Lookup

Defining a table lookup

Table Lookup dialog box

Defining referential integrity rules


Defining a Table Lookup

To specify a lookup table for a field,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Select the field you want to define a lookup for.

3.	Choose Table Lookup from the list box at the top of the Field Properties area on the right side of the Create Table dialog box.

4.	Choose Define. The Table Lookup dialog box appears.

5.	Specify the name of the table to use as the lookup table. Choose Path to choose an alias or your private directory, or choose Browse to open the Browser.

6.	Select the option you want in Lookup Type: Just Current Field or All Corresponding Fields.

7.	Select the option you want in Lookup Access: Fill No Help or Help and Fill.

See Also

Create Paradox Table dialog box

Restructure Table dialog box

Table Lookup dialog box

Browser


Table Lookup Dialog Box

Use the Table Lookup dialog box to specify a lookup table for a field. To open the Table Lookup dialog box, select the field you want to define a Table Lookup for in the Create or Restructure dialog box. In the Table Properties panel, choose Table Lookup and choose Define.

Dialog Box Options

Fields

Paradox displays the fields in your table. Select the field you want to specify a Table Lookup for, then click the Add arrow [image] above the list (or press Alt+A). The field name appears in the Field Name box.

Field Name

Shows the field you're specifying the Table Lookup for. Choose any field in the Fields list.

Lookup Field

Shows the first field of the table you've specified as the lookup table. Choose any table in the Lookup Table list.

Lookup Table

Paradox shows the tables in the current path. (Use Path or Browse to see tables in other directories.) Select the table to use as the lookup table, then choose the Add arrow [image] above the list (or press Alt+A). The name of the first field of that table appears in the Field Name box.

Lookup Type

Choose the type of table lookup you want:

Just Current Field	Only the selected field gets its value from the lookup table, even if the current table and the lookup table have other fields in common.

All Corresponding Fields	All fields of the current table that correspond to fields in the lookup table take their values from the lookup table. Only the first field of the lookup table is used as part of the validity check.

Lookup Access

Choose the type of viewing access you want:

Fill No Help	You cannot view the lookup table from the table you're entering.

Help and Fill	You can view the lookup table from the table you're editing.

Path

Use the Path list to choose an alias or your private directory.

Type

Paradox shows the file type of the table you're working with.

Browse

Choose Browse to see files in other directories in the Browser.

See Also

Defining a table lookup

Table Lookup

Using Table Lookup

Browser


Move Help dialog box

Use the Move Help dialog box to move a detail record to a new master record.

Select the new master record from the master table displayed and click OK. The selected detail record is now assigned to the new master record.

Move Help is only available in fields for which a one [image] many relationship or a referential integrity relationship has been defined.


Establishing Password Security

You can ensure that the table you create is protected from access by unauthorized users. This is especially important in a multiuser environment. Not only can you establish a password for the table as a whole, you can assign specific rights to the table or individual fields.

Once you specify password security, only those users who know the password can access the table. This includes you, so do not forget your password!

To create a password,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Choose Password Security from the list box at the top of the Field Properties area on the right side of the Create Table dialog box.

3.	Choose Define. Paradox opens the Password Security dialog box, where you can specify

Master Password	Type your password. Only asterisks appear onscreen.

Auxiliary Passwords	Choose to open the Auxiliary Password dialog box.

See Also

Password Security dialog box

Auxiliary Password dialog box

Create Paradox Table dialog box

Restructure Paradox Table dialog box

Using passwords


Password Security Dialog Box

Use the Password Security dialog box, to create passwords to protect your tables from unauthorized access. To open the Password Security dialog box, choose Password Security and Define in the Create Table dialog box or the Restructure Table dialog box.

Dialog Box Options

Master Password

Type your password in the Master Password text box. Only asterisks appear onscreen. A password can be from 1 to 31 characters and can contain spaces.

Verify Master Password

Type your password again in the Verify Master Password text box. Passwords are case-sensitive. If the two passwords are not identical, an error message prompts you to enter either of them again.

Auxiliary Passwords

Choose this to open the Auxiliary Password dialog box. (This button is not enabled until you verify a master password.)

Note: When you define only a master password, Paradox assumes you want to secure all rights. In the Auxiliary Password dialog box, you can be more specific about the kind of table functions each user can have.

See Also

Establishing password security

Auxiliary Password dialog box

Using passwords


Auxiliary Password Dialog Box

Use the Auxiliary Password dialog box to assign passwords for table and field rights. To open the Auxiliary Password dialog box, choose the Auxiliary Passwords button in the Password Security dialog box.

Dialog Box Options

Passwords

Lists the passwords for the current table.

Current Password

To specify an auxiliary password, type it in the Current Password text box.

Add

After choosing the table and field rights for your auxiliary password, click Add to place the password in the Passwords list.

Table Rights:

Choose the level of table rights for the password from the Table Rights group. You can choose only one type of table rights for each auxiliary password. If you want a user to have more than one (but not all) rights, you must assign more than one auxiliary password.

All	Choose All to give a user all rights to any function of the table, including the ability to restructure or delete it. The only operation prohibited is a change to the master password.

Insert & Delete	Choose Insert & Delete to give a user the right to insert or delete records, but not to empty or delete the table.

Data Entry	Choose Data Entry to give a user the right to enter data in the table, but not to delete records, restructure, or empty the table.

Update	Choose Update to give a user the right to view the table and change non-key fields, but not to insert or delete records or change key fields

Read Only	Choose Read Only to give the user the right to view the table, but not to change it in any way.

Field Rights

Assign rights to individual fields. The default right in the Field Rights List is All. To choose another option, double-click the field. Double-click once to choose Read Only. Double-click again to choose None. If you double-click again, the field right is reset to All. You can also toggle through the list by clicking the Toggle button.

All	Choose All to give the user all rights to the data in that field (within the limits of the table rights you specify).

Read Only	Choose Read Only to give the user the right to view but not to change the data in that field.

None	Choose None to prevent the user from viewing or changing the data in that field. Paradox hides the values in the field when the table is opened.

New

Choose New when you have finished adding one auxiliary password to the list and want to add another before leaving this dialog box. You can repeat this process to assign any number of auxiliary passwords.

Change

Change a password that's already on the Passwords list by selecting it and then choosing Change.

Delete

Remove a password by selecting it in the Passwords list and choosing Delete.

See Also

Establishing password security

Password Security dialog box

Using passwords


Using Passwords

You can define passwords for your tables from the Create Table or Restructure Table dialog box. When you try to open a password-protected table, Paradox prompts you for the password. You must enter the password to open the table.

Suppose you close the table, then attempt to open it again. If you have not exited Paradox, you'll be allowed to open the table without giving the password another time. Paradox stores the fact that you've accessed the table once and assumes you're allowed to open the table again. Paradox releases all passwords when you exit the program.

Releasing passwords

To release a password without exiting Paradox, choose File | Utilities | Passwords. The Enter Password(s) dialog box opens.

Enter the password you want to release from Paradox's memory in the Password text box. Asterisks (*) represent the characters you type. Choose Remove to remove this password from Paradox's memory. You'll be required to give the password the next time you open the table.

You can choose Remove All to remove all passwords from Paradox's memory. This means any table you've opened using a password, then closed, will again be protected. (Tables that are still open are not affected.)

Using one password for several tables

If you've assigned the same password to several tables, you can use the Enter Password(s) dialog box to give Paradox the password once to access all applicable tables. Type the password and choose Add or OK (or press Enter).

See Also

Enter Password(s) dialog box

Establishing password security

Password Security dialog box

Create Paradox Table dialog box

Restructure Paradox Table dialog box


Specifying a Table Language Driver

A table language driver determines the table's sort order and available character set. The ODAPI Configuration Utility lets you set the default language driver for Paradox and dBASE tables.

To override the default table language,

1.	Choose Table Language from the Table Properties drop-down list in the Create Table dialog box or the Restructure Table dialog box.

2.	Choose Modify to change the default table language. The Table Language dialog box opens.

Note:	If you change a table language driver when restructuring a table, you risk losing special characters in the table.

See Also

Table Language dialog box

ODAPI Configuration Utility

Create Paradox Table dialog box

Restructure Paradox Table dialog box


Table Language Dialog Box

Use the Table Language dialog box to override the default table language driver you set using the ODAPI Configuration Utility. To open the Table Language dialog box, choose Table Language in the Table Properties panel of the Create Table or the Restructure Table dialog box, then choose Modify.

Language:	Choose a different language from the Language drop-down list.

See Also

Specifying a table language driver


Dependent Tables

Use Dependent Tables to see all tables that depend on the current table for referential integrity.

See Also

Defining referential integrity rules


Restructuring tables

Restructuring a table

Adding fields

Changing field types

Deleting fields

Rearranging fields

Renaming fields

Restructuring tables linked by referential integrity

Restructuring on a network

Saving a restructured table


Restructuring a Table

You can change the structure of a table, even if it already has data in it. You do this in the Restructure Table dialog box.

Note:	Before restructuring a table, make sure no forms or reports are open that use the table in their data model. If you or any other user (in a multiuser environment) have such a document open, you will not be able to restructure the table.

You can open the Restructure Table dialog box three ways:

From the Folder window, inspect a table's icon and choose Restructure from its Properties menu.

From the Table window, choose Table | Restructure.

From the Desktop, choose File | Utilities | Restructure, then specify the table name in the Select File dialog box.

The Restructure Table dialog box opens, displaying the table's existing structure. You can

Add fields

Delete fields

Rearrange field order

Change field types

Change indexes, validity checks, and referential integrity (even if you do not change the basic table structure)

Establish lookup tables, table language drivers, and passwords

If you want to rename a table but not restructure it, use File | Utilities | Rename.

Paradox deals with changes to table structure in a variety of ways, depending on how the changes will affect your data. Sometimes Paradox creates a temporary table to store records that are incompatible with the new structure.

When fields are removed from a table, any corresponding field objects in forms or reports become undefined. When you open the form or report, you can redefine them.

See Also

Restructure Paradox Table dialog box

Restructure dBASE Table dialog box

Table structure:

Adding fields

Changing field types

Deleting fields

Rearranging fields

Temporary tables

Packing a table

Table properties:

Validity checks

Table Lookup

Secondary Indexes

Defining referential integrity rules

Establishing password security

Specifying a table language driver


Temporary Tables

Paradox deals with changes to table structure in a variety of ways, depending on how the changes will affect your data. Sometimes Paradox creates a temporary table to store records that are incompatible with the new structure.

Paradox numbers these temporary tables within a session (instead of overwriting them). They are deleted at the end of the session.

If you do not want a temporary table deleted at the end of a session, you must rename it. All temporary tables are stored in :PRIV:.

See Also

Defining referential integrity rules


 Restructure Paradox Table Dialog Box

Use the Restructure Paradox Table dialog box to change the structure of an existing Paradox table. This dialog box works just like the Create Paradox Table dialog box, with a few exceptions.

Note:	Before restructuring a table, make sure no forms or reports are open that use the table in their data model. If you or any other user (in a multiuser environment) have such a document open, you will not be able to restructure the table.

You can open the Restructure Table dialog box in one of three ways:

From the Folder window, inspect a table's icon and choose Restructure from its menu.

From the Table window, choose Table | Restructure.

From the Desktop, choose File | Utilities | Restructure, then specify the table name in the Select File dialog box.

Dialog Box Options

Field Roster

In the Field Roster panel (on the left), you specify the fields of a table. You can add, delete, or rename fields, and change field types and sizes.

Table Properties

In the Table Properties panel (on the right), you specify validity checks. You must have a valid entry selected in the Field Roster area for this to work because these properties refer to the selected field.

In the Table Properties panel you can also specify:

Table Lookup	To help the user enter data in one table that already exists in another table.

Secondary Indexes	To access the data in a sort order different from the key field, or to use in forming links between tables.

Referential Integrity	To ensure that ties between like data in separate tables cannot be broken. You cannot specify Referential Integrity for Paradox 3.5 tables.

Password Security	To create passwords to protect your tables from unauthorized access.

Table Language	To specify the language driver.

Dependent Tables	To see all tables that depend on the current table for referential integrity.

Required Field

Every record in the table must have a value in this field.

Minimum

The values entered in this field must be equal to or greater than the minimum you specify here.

Maximum

The values entered in this field must be less than or equal to the maximum you specify here.

Default

The value you specify here will be entered in this field if the user does not enter another value.

Picture

You specify a character string as template for the values that can be entered in this field.

Assist

Click the Assist button to open the Picture Assistance dialog box, where you can choose and edit a predefined string to use as a Picture.

Save

Overwrites the old structure with the new structure. If the restructure could cause data loss, the Restructure Warning dialog box box opens, where you can tell Paradox what to do about the problem.

Save As

Opens the Save Table As dialog box where you can choose to save the table with no data, or to add as much data as applicable (given the new structure) to a new table that you name.

See Also

Table structure:

Restructuring a table

Specifying the fields of a table

Rearranging fields and effects on key fields

Restructure Warning dialog box

Table creation and restructuring compared

Borrowing a Paradox table structure

Table properties:

Validity checks

Table Lookup

Secondary Indexes

Defining referential integrity rules

Establishing password security

Specifying a table language driver

Dependent Tables


Restructure dBASE Table Dialog Box

Use the Restructure dBASE Table dialog box to change the structure of an existing dBASE table.

Note:	Before restructuring a table, make sure no forms or reports are open that use the table in their data model. If you or any other user (in a multiuser environment) have such a document open, you will not be able to restructure the table.

You can open the Restructure Table dialog box in one of three ways:

From the Folder window, inspect a table's icon and choose Restructure from its menu.

From the Table window, choose Table | Restructure.

From the Desktop, choose File | Utilities | Restructure, then specify the table name in the Select File dialog box.

This dialog box contains two main panels: Field Roster and Table Properties.

Dialog Box Options

Field Roster

In the Field Roster panel (on the left), you specify the fields of a table. You can add, delete, or rename fields, and change field types and sizes.

Table Properties

In the Table Properties panel (on the right), you define Indexes. Choose Define to open the Define Index dialog box.

You must have a valid entry selected in the Field Roster area for this to work because these properties refer to the selected field:

Define	Choose Define to specify an index in the Define Index dialog box.

Modify	Choose Modify to change an index specification in the Define Index dialog box.

Erase	Choose Erase to remove the selected index from the Table Properties panel.

Pack Table

Compresses a table if records have been "deleted." These records will now be truly deleted, and you will no longer be able to view them using Table | Show Deleted.

Record Lock

When you check Info Size, Paradox adds a hidden field to the table that shows you when a record was locked and by whom. The amount of information you see when you find a locked field depends on the Info Size you specify. The default size for this Record Lock field is 16 characters. To specify another size, choose a size from 8 to 24 from the drop-down Info Size list box.

Note:	Record Lock is not available for dBASE III+ tables.

See Also

Restructuring a table

Table creation and restructuring compared

Specifying the fields of a table

Indexing dBASE tables

Define Index dialog box

Deleting records

Table | Show Deleted

Creating the Record Lock field on a dBASE IV table


Table Creation and Restructuring Compared

Restructuring a table differs from creating a table in these ways:

You cannot change a table's type. For example, you cannot change a Paradox table into a dBASE table.

If you restructure a table that was created in a previous version of Paradox in such a way that Paradox must convert it to a Paradox for Windows table, the Restructure Warning dialog box warns you of the conversion and asks you to confirm it.

If you add a primary key to a table that was previously unkeyed or had different keys, you might cause key violations. This means data already entered into the table violates the rules established by the new key. Paradox moves the key-violating records to a temporary table called Keyviol, located in your private directory.

If there is already a Keyviol table, Paradox adds a number to the new temporary table, so it might appear as Keyviol1 or Keyviol2. Paradox can create up to 100 temporary tables of the same name (the first is not numbered and the last is number 99).

Paradox deletes key-violating records from your table. You can change the records in Keyviol so they comply with the key requirements, and then add them back to your original table using File | Utilities | Add.

If you change a field's type, and Paradox can't convert some of the data in the field to the new type, Paradox prompts you to confirm the change. If you do, Paradox moves the records containing data that could not be converted into a special temporary table called Problems.

You can change the records in Problems so they comply with the new structure of the table, and then add them back into the table using File | Utilities | Add.

If you decrease a field's size, Paradox prompts you to trim existing data in the Restructure Warning dialog box. If you choose not to trim data, Paradox moves the records containing data that doesn't fit in the new field size to the Problems table.

If you add or change a validity check, you have the option of enforcing the new validity check on existing data (make this choice from the Restructure Warning dialog box). If you choose to enforce the new validity check on existing data, and any data that doesn't comply with it, Paradox places the non-compliant data in the Keyviol table. You can change the records in Keyviol and then add them back to the table using File | Utilities | Add.

If you add a new field that has a default validity check on it, and choose to enforce the validity check on existing data, Paradox creates the new field and places the default value in each record of the table. If you define a default validity check on an existing field that contains data, Paradox does not overwrite the existing data with the new default value.

If you change a table's language driver when restructuring a table, you risk losing any special characters that may exist in the table.

See Also

Creating a new table

Restructuring a table


Adding Fields

Use the Restructure Table dialog box to add another field to a table.

To add a field to the end of the table, you can either

Move beyond the end of the current list of fields using Tab, Enter, or the down arrow

Click the space below the last field

To insert a field above another field in the table, select the field and press Ins to open up a row above it, then type in the new field name and specifications.

Note:	Paradox does not automatically place new fields on previously existing forms or reports. If you add a field to an existing table that has forms or reports associated with it, you must explicitly add the field to the form or report.

See Also

Restructuring a table

Restructure Table dialog box

Rules governing Paradox field names

Rules governing dBASE field names


Changing Field Types

Use the Restructure Table dialog box to change field types.

To change a field type,

1.	Display the structure of the table in the dialog box.

2.	Select the Field Type column of the field you want.

3.	Type the symbol for the field type or select from the drop-down list. You can use the list two ways:

Right-click the Field Type column again and select the field type.

Press Spacebar, then choose the type.

If the change would cause data loss, Paradox prompts you to confirm it. If you do so, Paradox writes the records containing data that could not be converted to a temporary table called Problems.

You can change the records in the Problems table so they comply with the new structure, then add them back into the table using File | Utilities | Add.

See Also

Changing field types in dBASE tables

Compatible Paradox field types

Conversion to a date field

Conversion to a number field

Conversion to an alphanumeric field

Restructure Table dialog box

Valid Paradox field types

Valid Paradox 3.5 field types

Valid dBASE field types


Valid Paradox Field Types

These are the valid Paradox field types and sizes.

Symbol	Size	Type

A	1 - 255	Alphanumeric

N	Number

$	Currency

D	Date

S	Short number

M	1 - 240*	Memo

F	0 - 240	Formatted memo

B	Binary

G	Graphic

O	OLE

* Memo fields can be any length. The size value you specify in the Restructure Table dialog box refers to the amount of the memo Paradox stores in the table. This can be from 1 to 240 characters. Paradox stores the whole memo outside the table. For example, if you assign a size value of 45 to the field, Paradox stores the first 45 characters in the table. It stores the whole memo field in another file (with the extension .MB) and retrieves it as you scroll through the records of the table.

Tip:	If all your memos are smaller than a given size (for example, 200 characters), you can save space and time by setting the memo field size to be equal to or larger than that size. Paradox stores the entire memo in the table if it is less than the given size.

See Also

Changing field types

Compatible Paradox field types

Valid Paradox 3.5 field types

Valid dBASE field types


Valid Paradox 3.5 Field Types

These are the valid Paradox 3.5 field types and sizes.

Symbol	Size	Type

A	1 - 255	Alphanumeric

N	Number

$	Currency

D	Date

S	Short number

See Also

Changing field types

Compatible Paradox field types

Valid Paradox field types

Valid dBASE field types


Compatible Paradox Field Types

This is a chart of compatible Paradox field types.

To	A	N	$	D	S	M	F	B	G	O

From	A	Yes	P	P	P	P	Yes

From	N	Yes	Yes	Yes	P

From	$	Yes	Yes	Yes	Yes

From	D	Yes	Yes

From	S	Yes	Yes	Yes	Yes

From	M	Yes	Yes	Yes	Yes

From	F	Yes	Yes	Yes

From	B	Yes

From	G	Yes	Yes

From	O	Yes	Yes

P means the conversion is allowed, but might generate the Problems table.

Yes means the conversion is allowed, but may result in some trimming. If Paradox must trim some data, you'll see the Data Loss Warning dialog box, which asks you to confirm the conversion.

See Also

Changing field types

Restructure Warning dialog box


Conversion to an Alphanumeric Field

In a Paradox table, you can convert any field type except a BLOB field with data in it to an alphanumeric field without loss of data. If the BLOB field is empty, you can convert it to an alphanumeric field also. Any data in a BLOB field goes to a Problems table that Paradox creates for it.

All formatting and constraints inherent in the original field type are lost when you convert the field to alphanumeric.

If the alphanumeric field is shorter than the field it replaces, data is either trimmed or placed in a Problems table. A dialog box asks you to choose the option you prefer.

You must specify the size of an alphanumeric field. In the Create or Restructure Table dialog box, you can define field length from 1 to 255 characters.

See Also

Changing field types

Compatible Paradox field types


Conversion to a Number Field

In a Paradox table, you can convert a currency field or a short number field to a number field. In fact, you can convert among all three of these field types without loss of data, except when a number or currency value is too large for a short number field or includes decimals. In that case, you can either trim the values, or have Paradox write records containing those values to the temporary Problems table.

You can convert an alphanumeric field to a number field if it contains no data inconsistent with a number. If data in the field is inconsistent with a number field, you must either

Have Paradox place the records in a Problems table

Delete the inconsistent data and then make the conversion

Insert a new field and delete the original field (losing all data)

See Also

Changing field types

Compatible Paradox field types


Conversion to a Date Field

In a Paradox table, you can convert only alphanumeric fields to date fields. Paradox saves any invalid data in a Problems table. If any record contains data in that field that cannot be interpreted as a date, Paradox removes the record and writes it to the temporary Problems table.

Here are examples of what kinds of alphanumeric strings can and cannot be converted to dates:

Can be converted	Cannot be converted

7/04/1776	July 4, 1776

3/30/91	The 30th of March, 1991

25-Dec-1066	Christmas Day, 1066

11-Nov-18	Armistice Day

1.01.2000	New Year's Day, the year 2000

13.06.80	Herb's 29th birthday

See Also

Changing field types

Compatible Paradox field types


Restructure Warning Dialog Box

When you restructure a table, you often make changes that could result in a loss of data. Changes such as shortening field sizes, creating validity checks, or changing field types can cause existing data to become invalid. Whenever this is the case, Paradox opens the Restructure Warning dialog box when you leave the Restructure Table dialog box.

Dialog Box Options

Field Trim

Choose how Paradox treats data in fields:

Trim All Fields	Truncates all data that does not fit in the new field, without asking for confirmation on each field.

Trim No Fields	Extracts all records containing data that exceed the new maximum length of the shortened field, and saves these records in a Problems table.

Skip confirmation for each deleted field

When this is checked, Paradox deletes fields without asking for confirmation for each one.

Validity Checks

Check this, then choose whether or not to apply validity checks to existing data:

Apply to Existing Data	When this is checked, any existing data that does not meet the conditions of new validity checks is written to the Keyviol table. You can change the records in Keyviol, and then add them back to the table using File | Utilities | Add.

Do not apply	When this is checked, Paradox does not enforce the new validity checks on existing data.

See Also

Changing field types

Compatible Paradox field types

Temporary tables


Changing Field Types in dBASE Tables

You restructure a dBASE table the same way you do a Paradox table. Changing field types of dBASE fields has the following consequences:

Number to character	Data in number or float number fields can be converted to text in a character field with no loss of data. However, you cannot perform calculations on numeric data stored in a character field.

Character to number

or float number	You can convert a character field to a number or float number field with the following results:

  If the data in the character field is numeric (digits), Paradox converts it to a number or float number field with no data loss.

  If the data in the character field is a mixture of text and digits beginning with digits, Paradox converts the digits to a number or float number format and deletes all text.

  If the data in the character field is a mixture of text and digits beginning with text, Paradox assigns the value 0 to the number or float number field.

Logical to character	Logical values are converted to T or F text values.

Character to logical	The characters T, t, Y, and y are converted to logical true, and all other values are converted to logical false.

Date to character	You can convert a date value to a text value. The text value will be eight characters in the format MM/DD/YY.

Character to date	You can convert a text value to a date value only if it is an eight-character value in the format MM/DD/YY. Any other value sizes or formats are not recognized as dates and are not converted.

See Also

Valid dBASE field types


Valid dBASE Field Types

These are the valid dBASE field types and sizes:

Symbol	Size	Decimal Point	Type

C	1 - 254	Character (alphanumeric)

F*	1 - 20	0 - 18, and <=Size - 2	Float (numeric)

N	1 - 20	0 - 18, and <= Size - 2	Number (BCD)

D	Date

L	Logical

M**	Memo

 *	Float fields are available only in dBASE IV tables.

**	Memo field formats differ between dBASE III+ and dBASE IV tables.

See Also

Changing field types in dBASE tables

Valid Paradox field types

Valid Paradox 3.5 field types


Deleting Fields

To delete a field from a table, open the Restructure Table dialog box. Either choose File | Utilities | Restructure or

1.	Select the table in the Folder window.

2.	Inspect the table's icon.

3.	Choose Restructure from the menu.

4.	Select the row number of the field you want to delete, then press Ctrl+Del. This removes the field from the table specification.

If the deletion could cause data loss, a dialog box appears when you click OK, to let you confirm the deletion or cancel the operation.

Note:	When you delete a field from an existing table, Paradox deletes it from previously created forms and reports.

See Also

Restructure Table dialog box


Rearranging Fields

You rearrange field order in either the Create Table dialog box or the Restructure Table dialog box.

To reorder fields,

1.	Display the structure of the table in the Create Table dialog box or the Restructure Table dialog box.

2.	Click the number of the field you want to move and drag it to the position you want it to occupy.

You can place a field

Between the rows of existing fields

In the row above the first field

In the row below the last field

See Also

Create Paradox Table dialog box

Restructure Table dialog box


Renaming Fields

To rename a field in a table, open the Restructure Table dialog box.

1.	Select the field you want to edit.

2.	Click the field again to place the insertion point in the field. Edit the field name as desired, using standard editing techniques.

If you edit a field name in an existing table, and that field name appears on any associated design documents, Paradox reconciles the change the next time you open a design document. If you have changed more than one field name, you might have to place renamed fields manually.

See Also

Restructure Table dialog box

Rules governing Paradox field names

Rules governing dBASE field names


Restructuring Tables Linked by Referential Integrity

When restructuring the parent table in a referential integrity relationship, you might be prohibited from performing certain restructure operations.

To see if the table you're restructuring is the parent in a referential integrity relationship, choose Dependent Tables from the Table Properties drop-down list in the Restructure Table dialog box. Paradox lists all child tables that depend on the table you're restructuring.

The basic rule to remember when restructuring a parent table is that you cannot perform any operation that causes records to be removed from the table. If you remove records from the parent table, you risk orphaning records in the child table. This is in violation of the rules of referential integrity. Each record in the child table must have a valid parent record.

Follow these guidelines as you restructure tables that are linked by referential integrity:

If you resize any field in the parent table, you must choose to trim data that doesn't fit in the new field size, rather than save such data in the Problems table.

You cannot change the parent table's key definition or the child table's foreign key definition in such a way that will cause records to be saved in the Keyviol table.

You can change field names, but not types or sizes, of fields that are part of the referential integrity definition.

You can add a validity check to either table, but you must choose not to enforce it on existing data. (Use the Restructure Warning dialog box to make this choice.) The exception to this rule is the creation of a default validity check on a new field in the table.

To make a parent table the child of another table, that table and all its existing child tables must be empty. For example, if Orders is the parent table of Stock, you cannot make Orders the child of Customer unless both Orders and Stock are empty.

When working with tables that contain data, if you link more than two tables by referential integrity you must create the first link to the table that has no parent. For example, to define referential integrity among the Customer, Orders, Lineitem, and Stock tables, you must

1.	First create the link from Orders to Customer.

2.	Then create the link from Lineitem to Orders.

3.	Then create the link from Stock to Lineitem.

To create a cyclic referential integrity relationship (as in "Table A refers to Table B, which refers to Table C, which refers back to Table A") all the tables must be empty.

See Also

Restructure Table dialog box

Defining referential integrity rules


Restructuring on a Network

When you restructure a table on a network or with more than one session of Paradox open, Paradox automatically places a lock on the table. This means other users cannot access the table during the restructuring.

If another application has started an operation using the table you want to restructure, you cannot begin restructuring until that application finishes working with the table.

See Also

Networking Paradox


Packing a Table

If you've deleted records from a dBASE table, you might want to remove them permanently from your disk. Paradox lets you permanently remove the records from the table when you restructure it. This is called packing the table.

To see if there are any deleted records present, choose Table | Show Deleted in a Table window.

From the Restructure Table dialog box, check the Pack Table check box.

If you choose Save, Paradox removes the records from the table permanently.

If you choose Save As, Paradox removes the records from the new table you create as a result of the restructure, and leaves the records in the original table.


Saving a Restructured Table

When you finish restructuring a table and want to save it, you have two options.

Save	Overwrites the old structure with the new structure. If the restructure could cause data loss, the Restructure Warning dialog box box opens, where you can tell Paradox what to do about the problem.

Save As	Opens the Save Table As dialog box where you can create a new table with the structure you specified and (optionally) as much data from the old table as suits the new structure. The old table is left intact.

If you are not sure what some of the potential problems, key violations, or trimming options might do to your data, it's a good idea to use Save As, and leave your original table intact. If you like the new table, you can delete the old one or use File | Utilities | Rename to rename the new table and overwrite the old.

See Also

Restructure Warning dialog box


Save Table As Dialog Box

Use the Save Table As dialog box to save a restructured table under a new name, leaving your original table intact. To open the Save Table As dialog box, choose Save As in the Restructure Table dialog box.

It's a good idea to use Save As when you are not sure what some of the potential problems, key violations, or trimming options might do to your data. If you like the new table, you can delete the old one or use File | Utilities | Rename to rename the new table and overwrite the old.

Dialog Box Options

Tables

Type the name of the old table.

Path

Choose the Path list to choose an alias or your private directory.

Type

View the Table Type.

Browse

Choose Browse to open the Browser.

New Table Name

Type the new name of your restructured table.

Options

You can choose to display your restructured table with no data, or to display it with as much data from the old structure as is applicable to the new structure.

See Also

Browser


Utilities

Utilities menu	Renaming objects

Adding records from another table	Sorting tables

Copying objects	Exporting data

Deleting objects	Getting information about table structure

Emptying tables	Restructuring a table

Importing data	Subtracting records

Establishing password security


Utilities Menu

Use the items on the Utilities menu to perform common file operations. Using utilities, you can copy, rename, or delete any Paradox object.

Utilities also provide specialized operations for your tables. You can

Add records from one table to another.

Subtract records that exist in one table from another table.

Empty all records from a table.

Import data from different file formats.

Export Paradox data to different file formats.

Get information about a table's structure.

Restructure a table.

Sort a table.

You can also access an object's utilities by inspecting its icon in either the Folder window or the Browser.

See Also

Adding records from another table

Renaming objects

Copying objects

Sorting tables

Deleting objects

Exporting data

Emptying tables

Getting information about table structure

Importing data

Restructuring a table

Establishing password security

Subtracting records


Adding Records From Another Table

To quickly add many records to a table, you can merge the records from another table that has the same structure.

Use the Add utility to add a copy of the records in one table to another table.

To add records from another table,

1.	Choose File | Utilities | Add, or inspect the icon of the table you want to add records from and choose Add. Paradox opens the Add dialog box.

2.	Position the insertion point in the From text box, then choose the table you want to add records from. (If you open the Add dialog box by inspecting a table's icon, Paradox enters the table's name here for you.)

3.	Position the insertion point in the To text box, then choose the table you want to add records to.

4.	Specify append or update options.

5.	Check View Modified Table if you want to open the table you added records to when the Add operation is complete.

6.	Choose OK to add the records.

The two tables you use in the Add operation must have compatible (though not necessarily identical) field types in the same order.

For fields to be compatible, Paradox must be able to change from the existing field type to the new field type in a Restructure operation. For example, number and currency field types are compatible, but number and graphic fields are not.

See Also

Rules for merging tables

Merging tables on a network

Add dialog box

Append and Update options


Rules for Merging Tables

When performing an Add operation, keep these rules in mind:

You can add records from one table type to another only if the tables have a compatible structure. This means compatible field types in the same order. The following table shows which Paradox and dBASE field types are compatible.

	dBASE C	dBASE F	dBASE N	dBASE D	dBASE L	dBASE M
Paradox A	Yes	P	P	P	P	Yes
Paradox N	Yes	Yes	Yes	No	P	No
Paradox $	Yes	Yes	Yes	No	No	No
Paradox D	Yes	No	No	Yes	No	No
Paradox S	Yes	Yes	Yes	No	P	No
Paradox M	No	No	No	No	No	Yes
Paradox F	No	No	No	No	No	Yes
Paradox B	No	No	No	No	No	Yes
Paradox G	No	No	No	No	No	Yes
Paradox O	No	No	No	No	No	Yes
Yes	=	The field types are compatible.

No	=	The field types are not compatible.

P	=	The field types are somewhat compatible, but conversion can result in a Problems table.

When you add data from a Paradox formatted memo to a dBASE memo, Paradox removes all formatting and converts the data to straight text.

When you add data from a Paradox graphic, OLE, or binary field to a dBASE memo, the dBASE table can accept the data, but cannot display it.

The table you add the records to can have more fields than the source table, as long as the first fields of the table you add the records to are compatible with all fields of the source (compatible field types in the same order). Paradox places null values in the extra fields.

Adding records to keyed tables

If the table you add the records to is keyed, the added records must conform to the rules of the key. Paradox places records that do not conform in the temporary Keyviol table in your private directory. The source table is never changed during an Add operation; it does not matter if it's keyed or not.

See Also

Adding records from another table

Merging tables on a network


Append and Update Options

You can use the Options area in the Add dialog box to either add new records, update existing records, or both.

Dialog Box Options

Append

Choose Append to add new records without affecting any existing records:

If the target table is keyed, Paradox adds records in their proper position in the table. Paradox places records that violate the key in the temporary Keyviol table in your private directory. (You can edit these records to conform to the key, then use Add again to place them in the table.)

If the target table is not keyed, Paradox places the added records at the end of existing records. Paradox places records that violate validity checks in the temporary Keyviol table in your private directory.

Update

Choose Update to update records that already exist in the table you're adding records to. Any records in the source table that do not match an existing record are not added.

When you choose Update, the records of the source table overwrite matching records in the table you're adding records to. Paradox places the records that are overwritten in the temporary Changed table in your private directory.

Note: The table you add records to must be keyed to use Update.

Append & Update

Choose Append & Update to add new records and update existing records (following the rules just stated).

Note: The table you add records to must be keyed to use Append & Update.

See Also

Adding records from another table


Merging Tables on a Network

When you merge tables using Add, Paradox needs to acquire a read lock on the source table and a write lock on the table you add records to. This means that until the records are added, other users

Cannot change the contents or structure of either table.

Cannot perform any operation that requires a write or exclusive lock on the target table.

If another user has already placed a write or exclusive lock on either table, you must wait until the lock is removed before using Add.

Windows lets you open several instances of the same table at the same time, so you could be considered another user of the table, preventing the records from being added. Be sure to close the table's window, and any of its associated documents' windows, before adding records to the table.

See Also

Adding records from another table

Rules for merging tables

The effects of locking from the Desktop

Networking Paradox


Copying Objects

You can copy tables, forms, reports, queries, scripts, or libraries from within Paradox. When you copy a table, Paradox copies both its structure and the data contained in it.

Always use the Paradox Copy utility to copy tables. Using the DOS COPY command or the Windows File Manager might not copy all related files that make up a table. For example, Paradox stores the contents of memo fields externally to a table and you cannot copy them by copying the .DB file. A Paradox Copy command copies all files and pointers correctly.

To copy a table,

1.	Choose File | Utilities | Copy, or inspect the object's icon in the Folder window or the Browser and choose Copy from its menu. Paradox opens the Copy dialog box.

2.	Identify the Source File and the Destination File.

3.	Choose OK to start the Copy.

All tables in your working and private directories are shown in the File Name list. Use the Type drop-down list to display other object types in the File Name list.

You can use the Path drop-down list or the Browse button to access files in different directories.

When you copy a table, Paradox also copies the table's

Key (primary index)

Secondary index(es)

Validity checks

Table properties (as you've set them in the Table window)

See Also

Copy dialog box

Copying on a network

Copying referential integrity

Copying to a different table type

Copying design objects


Copying on a Network

When you use Copy, Paradox must acquire a read lock on the original table and an exclusive lock on the copy. This means

No user can change the contents or the structure of the table you're copying during the Copy operation.

If you copy to an existing table, there can be no locks open on that table.

If there is a record lock, write lock, or exclusive lock on the table you're copying, you will not be able to make the copy until the lock is removed.

Windows lets you open several instances of the same table at the same time, so you could be considered another user of the table, preventing the records from being copied. Be sure to close the table's window, and any of its associated documents' windows, before using Copy.

See Also

Copying objects

The effects of locking from the Desktop

Networking Paradox


Copying Referential Integrity

When you define referential integrity, you create a relationship between two tables:

If you copy the parent table, Paradox does not copy the referential integrity.

If you copy the child table, Paradox copies the referential integrity. This means the copied table must meet the requirements of the referential integrity. To delete the referential integrity, you must restructure the table.

If you copy the child table to a different directory, Paradox breaks the referential integrity link.

See Also

Copying objects

Defining referential integrity rules

Restructuring a table


Copying to a Different Table Type

You can copy a Paradox table to a dBASE table, or a dBASE table to a Paradox table, by entering the file extension you want in the New Table Name text box (.DB for Paradox and .DBF for dBASE). For example, if you want to copy the Paradox Customer table to a dBASE Customer table, enter CUSTOMER.DB in the From text box, and CUSTOMER.DBF in the To text box of the Copy File panel.

Paradox automatically changes field types when you change table types. The following table shows what to expect when you copy from a Paradox table to a dBASE table.

From Paradox	To dBASE	Side Effects
Alphanumeric	Character
Number	Number	Assigns size (20) and dec. (4)
Currency	Number	Assigns size (20) and dec. (4)
Short number	Number	Assigns size (6) and dec. (0)
Date	Date
Memo	Memo
Formatted memo	Memo	Formatting is lost
Graphic	Memo	Data cannot be displayed
OLE	Memo	Data cannot be displayed
Binary	Memo	Data cannot be displayed
Note:	If the new dBASE table contains no production index (.MDX file), no float number field type, and no memo field type, Paradox creates a dBASE III+ table. Otherwise, Paradox creates a dBASE IV table.

The following table shows what to expect when you copy from a dBASE table to a Paradox table.

From dBASE	To Paradox	Side Effects
Character	Alphanumeric
Float number	Number	Removes size
Number	Number	Removes size
Logical	Alphanumeric	Adds size (1) and keeps first character
Date	Date
Memo	Memo	Adds size (1)*
*	Paradox assumes the data in the dBASE memo is in text form. If the memo contains a different type of data, you should use the Add utility and add the memo to the appropriate Paradox BLOB field type.

See Also

Copying objects


Deleting Objects

You can delete tables, forms, reports, queries, scripts, or libraries from within Paradox.

Always use the Paradox Delete utility to delete tables. Using the DOS DELETE command or the Windows File Manager might not delete all related files that make up a table.

Warning: Be careful when deleting objects! You cannot undo a deletion. Make sure the table is not used in any associated objects like forms, reports, or queries. Associated documents are not deleted when you delete the table; you must delete them yourself.

To delete an object,

1.	Either choose File | Utilities | Delete, or inspect the object's icon in the Folder window or the Browser and choose Delete from its menu.

If you choose Delete from an object icon's menu, Paradox opens a dialog box asking you to confirm the deletion. Choose Yes to delete the object or No to cancel the operation.

If you choose File | Utilities | Delete, Paradox opens the Delete dialog box.

2.	All tables in your working and private directories are shown in the File Name list. Use the Type drop-down list to display other object types in the File Name list.

You can use the Path drop-down list or the Browse button to access files in different directories.

3.	Enter the name of the object you want to delete in the Delete File text box.

4.	Choose OK to delete the table. Paradox displays a message asking you to confirm the deletion. Choose Yes to delete the object or No to cancel the operation.

Note:	You cannot delete a table that is identified as the parent in a referential integrity relationship. You must first either delete the referential integrity (by restructuring the child table) or delete the child table.

See Also

Deleting tables on a network

Delete dialog box

Restructuring a table


Deleting Tables on a Network

When you use Delete to delete a table, Paradox must acquire an exclusive lock on the table. This means

No user can access the table in any way.

If there is a lock of any type open on the table, you must wait until it's released before you can use the Delete utility.

Windows lets you open several instances of the same table at the same time, so you could be considered another user of the table, preventing the records from being deleted. Be sure to close the table's window, and any of its associated documents' windows, before using Delete.

See Also

Deleting objects

Delete dialog box

Networking Paradox


Emptying Tables

Use the Empty utility to remove all records from a table, leaving the table's structure (including all keys, indexes, validity checks, and so on) intact.

To empty a table, either

Open the table in a Table window and choose Table | Empty. Paradox opens a dialog box that asks you to confirm the Empty operation. Choose Yes to remove all records from the table or No to cancel the operation.

Choose File | Utilities | Empty, or inspect the table's icon in the Folder window or the Browser and choose Empty from its menu. Paradox opens the Empty dialog box.

All tables in your working and private directories are shown in the File Name list. Use the Path drop-down list or the Browse button to access files in different directories.

1.	Enter the name of the table you want to empty in the Empty Table text box. (If you open the Empty dialog box by inspecting a table's icon, Paradox enters the table's name here for you.)

2.	Choose OK to empty the table. Paradox displays a message asking you to confirm the Empty operation. Choose Yes to remove all records from the table or No to cancel the operation.

Note:	You cannot empty a table that is identified as the parent in a referential integrity relationship. You must first either delete the referential integrity (by restructuring the child table) or delete the child table.

See Also

Empty dialog box

Emptying tables on a network

Restructuring a table


Emptying Tables on a Network

When you use Empty, Paradox must acquire an exclusive lock on the table. This means

No user can access the table in any way.

If there is a lock of any type open on the table, you must wait until it's released before you can use the Empty utility.

See Also

Emptying tables

Networking Paradox


Importing Data

Use the Paradox Import utility to import data from a different file format to a Paradox table. Using Import, you can transfer data easily between Paradox and other applications.

You can import only data files, not applications or forms. Data files from other applications can be imported only into new tables, not into existing ones. Paradox defines the structure of the new table automatically.

To import data,

1.	Choose File | Utilities | Import. The File Import dialog box opens.

2.	Use the Type drop-down list to choose the file format from which you want to import the data. All files of that format in the working directory appear in the file list.

If the file you want to import is not located in the working directory, you can enter the file name (including the full path) in the File Name text box. Or you can use the Path list or the Browse button to choose a different directory.

3.	Choose the source file you want and choose OK. What you see depends on the type of file you chose to import data from.

See Also

Importing spreadsheet data

Importing delimited text

Importing fixed length text

File Import dialog box


Importing Spreadsheet Data

In Paradox, you can select a specific block in the spreadsheet to import. In the Spreadsheet Import dialog box, enter the range you want in the From Cell and To Cell text boxes, or choose a named range of cells from the Named Ranges list. (Named ranges are available only if you create them in the source spreadsheet.)

To avoid conversion problems, edit the spreadsheet before importing it. This eliminates any ambiguities. Follow these steps:

1.	Remove extraneous entries (such as hyphens, asterisks, and exclamation points).

2.	Make sure each column contains only one kind of data and uses only one formatting option.

3.	Place column titles in the top row of the selected range, because Paradox uses the first row that contains text to generate field names. (If there are no column titles on the spreadsheet, uncheck the Get field names from first row check box in the Spreadsheet Import dialog box.)

If the table does not have the format you want after you import it, you can restructure it in Paradox.

See Also

Importing data

Spreadsheet Import dialog box

Determining field types

Determining field names


Determining Field Types

When you import data from a spreadsheet, Paradox automatically assigns field types to the data. The following table shows how Paradox determines a field's type.

Spreadsheet  value	Paradox  field type	dBASE  field type
Labels	Alphanumeric	Character
Integers	Short number	Float number (5,0)
Decimal numbers	Numeric	Float number (20,4)
Currency	Currency	Float number (20,4)
Dates	Date	Date
These rules determine which category a column falls into:

A column containing	is converted to
Label (text) cell	Alphanumeric field (or dBASE character field)
Dates and numbers	Alphanumeric field (or dBASE character field)
Currency only	Currency field in a Paradox table
Currency and numbers	Number field
As a result of these conversion rules, Paradox often imports numbers in unedited spreadsheets as alphanumeric fields. For example, spreadsheet columns often have rows of hyphens separating sections of numbers. Since only an alphanumeric field can contain both the numbers and hyphens, the column is converted to an alphanumeric field even though it contains mostly numbers. Dates and numbers are formatted as specified in the Control Panel.

See Also

Importing spreadsheet data

Determining field names


Determining Field Names

Paradox uses the first row of imported data that contains text to determine field names. If Paradox cannot determine a field name from the imported file, it generates new field names beginning with the name FIELD001. Additional new field names are numbered (FIELD002, FIELD003, and so on).

If more than one field seems to have the same name, Paradox numbers the duplicate fields (for example, Customer1 and Customer2).

See Also

Importing spreadsheet data

Determining field types


Importing Delimited Text

If you want to import data from a delimited text file, choose the file you want in the File Import dialog box, and choose <Delimited Text> from the Type drop-down list. Paradox opens the Delimited ASCII Import dialog box.

By default, Paradox expects the fields in the ASCII file to be separated by commas, with quotation marks surrounding each text field. You can tell Paradox how to interpret the file by choosing Options in the Delimited ASCII Import dialog box. Paradox opens the Text Options dialog box.

Use the Fields Separated By panel to identify the character that separates field values in the source file.

Use the Fields Delimited By panel to identify the characters that surround values in the source file.

Use the Delimited Fields panel to choose whether you want to delimit all possible fields from the source file or only text fields with quotation marks (or the character you specify in the Fields Delimited By panel).

Use the Character Set panel to choose either the OEM or ANSI character set.

When you import a delimited text file, Paradox scans the file to determine the number of fields and the field types the file contains. Paradox then creates a new table, using the name you entered in the New Table Name text box of the Delimited ASCII Import dialog box, and imports the data into it.  Dates and numbers are formatted as specified in the Control Panel.

Paradox trims strings longer than 255 characters. It stores these as alphanumeric 255 fields.

See Also

File Import dialog box

Delimited ASCII Import dialog box

Text Options dialog box

Importing fixed length text

Importing data


Importing Fixed Length Text

When you choose <Fixed Length Text> from the Type drop-down list in the File Import dialog box, Paradox opens the Fixed Length ASCII Import dialog box.

To import fixed length text,

1.	Enter the name you want the new table to have in the New Table Name text box.

2.	Choose whether the new table is created as a Paradox or a dBASE table.

When you import a fixed length text file, Paradox creates the temporary IMPORT.DB table in your private directory. In the Fixed Length ASCII Import dialog box, use the Import table to define the field names and types of the fields in the new table. For each field name, enter a Start position (the column where you want the field value to begin) and a Length (the field size). Dates and numbers are formatted as specified in the Control Panel.

You can use the Import Specification panel to work with the Import table. You can

Choose Save to save the Import table settings you specify. (Although the Import table is deleted when you exit Paradox or change your private directory, Paradox saves the table's settings permanently.)

Choose Load to load the settings from a previously saved Import table.

Choose Clear to clear the settings displayed in the Import table.

When you finish specifying the structure of the new table, choose OK. Paradox imports the data from the source to the new table you named in the New Table Name text box of the Fixed Length ASCII Import dialog box.

See Also

Fixed Length ASCII Import dialog box

File Import dialog box

Importing delimited text

Importing data


Renaming Objects

You can rename tables, forms, reports, queries, scripts, or libraries from within Paradox.

Always use the Paradox Rename utility to rename tables. Using the DOS Rename command or the Windows File Manager may not rename all related files that make up a table (for example, the files containing a table's primary index, secondary indexes, validity checks, or BLOB data). The Paradox Rename utility, however, renames all files correctly.

Be careful when renaming tables. Once renamed, a table cannot be found by associated documents. Forms, reports, or queries that refer to a table under one name will not be bound to the table under its new name. The next time you open an unbound object, Paradox asks you to supply the name of the table to which you'd like it to be bound.

To rename a table, either

Open the table in a Table window and choose Table | Rename. Paradox opens a dialog box showing the table's existing name and provides a text box for you to enter a new name.

Choose File | Utilities | Rename, or inspect the object's icon in the Folder window or the Browser and choose Rename from its menu. Paradox opens the Rename dialog box.

All tables in your working and private directories are shown in the File Name list. Use the Type drop-down list to display other object types in the File Name list. Use the Path drop-down list or the Browse button to access files in different directories.

1.	In the Rename File panel, enter the object's existing name in the From text box.

2.	Enter the new name in the To text box.

3.	Type the name you want to give the table in the Destination File text box.

4.	Choose OK to rename the object.

Rules for renaming objects

You cannot rename a table to change its type. A Paradox table must be renamed as a Paradox table, and a dBASE table must be renamed as a dBASE table.

You can copy a table to change its type.

You cannot rename a table that is identified as the parent table in a referential integrity relationship. You must first either delete the referential integrity (by restructuring the child table) or delete the child table.

See Also

Renaming tables on a network

Rename dialog box

Copying to a different table type

Restructuring a table


Renaming Tables on a Network

When you use Rename, Paradox must acquire an exclusive lock on the table. This means

No user can access the table in any way.

If there is a lock of any type open on the table, you must wait until it's released before you can use the Rename utility.

See Also

Renaming objects

Networking Paradox


Sorting Tables

If a table has a key, Paradox keeps its records sorted according to the values of the key field (or fields). Otherwise, sorting gives you an unkeyed table in the desired order. For dBASE tables, the default order is chronological; for Paradox tables, it is positional.

To sort a table, either

Choose File | Utilities | Sort, then choose the table you want to sort from the Select File dialog box. (You must first close any window containing the table or the table's data.)

Inspect a table in the Folder window and choose Sort from its Properties menu. (You must first close any window containing the table or the table's data.)

Choose Table | Sort from an open Table window.

Any of these methods displays the Sort Table dialog box.

You can also sort Answer tables from queries. To modify the sort order of an Answer table, make the Query Window active and choose Properties | Answer Table | Sort. Paradox displays the Sort Answer dialog box.

Note:	If you want to view the table in a different order without changing the actual location of records in the table, use the Table | Order/Range command.

See Also

Sort Table dialog box

Sort Answer dialog box

Key fields

Specifying sort order

Sorting on a network

Table | Order/Range


Specifying Sort Order

To specify the order you want to sort the records of the table in, select fields in the Fields list of the Sort Table dialog box and add them to the Sort Order list. When Paradox performs the sort operation, it sorts records on the values in the first field in the Sort Order list, then on the values in the second field, and so on.

You do not have to put all the fields from the Fields list in the Sort Order list. Paradox adds any fields you do not explicitly put in the Sort Order list to the end of that list before performing the sort (unless you've checked Sort Just Selected Fields). In any case, Paradox includes all fields in the result (whether the result is the same or a new table).

Note:	If you do not add any fields to the Sort Order list, Paradox sorts the table in the order of the fields in the Fields list. If you check Sort Just Selected Fields, you must place at least one field in the Sort Order list.

Paradox can sort on fields of any type except memo, formatted memo, graphic, OLE, and binary fields in Paradox tables and memo and logical fields in dBASE tables. Paradox displays these types of fields in the Fields list, but they are dimmed and cannot be selected for placement in the Sort Order list.

See Also

Sorting tables

Sort Table dialog box

Adding fields to the Sort Order list

Removing fields from the Sort Order list

Rearranging sort order

Sorting on a network


Adding Fields to the Sort Order List

To open the Sort Table dialog box, use the Sort utility and choose a table to sort in the Select File dialog box.

Adding fields to the Sort Order list

To add fields to the Sort Order list,

1.	Select the field in the Fields list.

2.	Choose the Add arrow or press Alt+A. The selected field appears in the Sort Order list immediately below any fields already there. The field name remains in the Fields list, but it is dimmed to show it is no longer available.

To add two or more fields from the Fields list to the Sort Order list, click a field at one end of the range and drag to the other end of the range. (Using the keyboard, move to the top field in the range, hold Shift and press A until all the fields you want are selected.) Then choose Add or Alt+A to move the selected range of fields to the Sort Order list. If the range of fields you select extends over fields that cannot be sorted on, or over fields already added to the Sort Order list, Paradox ignores them.

Inserting fields at the top of the Sort Order list

To insert fields at the top of the Sort Order list,

1.	Select the top field in the Sort Order list.

2.	Add the field you want. It appears selected below the top field.

3.	Use the Change Order up arrow to move the field to the top position.

See Also

Sorting tables

Sort Table dialog box

Removing fields from the Sort Order list

Rearranging sort order


Removing Fields from the Sort Order List

To open the Sort Table dialog box, use the Sort utility and choose a table to sort in the Select File dialog box.

Removing selected fields

To remove selected fields from the Sort Order list,

1.	Select the fields.

2.	Choose the Remove arrow or press Alt+R. The field returns to the Fields list.

To remove a range of fields, select the range by dragging, then choose the Remove arrow or press Alt+R. The Remove arrow is available only when a field is selected in the Sort Order list.

Removing all fields

To remove all fields from the Sort Order list, choose Clear All or press Alt+C. Those fields become available again in the Fields list.

Note:	Clear All is available whenever the Sort Order list contains a field.

See Also

Sorting tables

Sort Table dialog box

Adding fields to the Sort Order list

Rearranging sort order


Rearranging Sort Order

To open the Sort Table dialog box, use the Sort utility and choose a table to sort in the Select File dialog box.

Rearranging fields

To rearrange fields in the Sort Order list,

1.	Select the field.

2.	Click the appropriate arrow on the Sort Order list.

You can also select and move groups of fields. Drag to select more than one field at a time.

Determining sort order

The default sort order is ascending, indicated by the 123... in front of the field name in the Sort Order list. To change to descending, double-click the field name or select the field and press the Toggle button; 123... changes to ...321, indicating descending sort order.

See Also

Sorting tables

Sort Table dialog box

Adding fields to the Sort Order list

Removing fields from the Sort Order list


Sorting on a Network

When you sort tables in a multiuser environment, Paradox automatically places a lock on the table you're sorting. This means other users cannot modify its contents or structure. If another user has a lock on the table, you will not be able to begin sorting until that user finishes working with it.

When you sort to a new table, Paradox automatically places a lock on that table as well as the original table for the duration of the sort.

See Also

Sorting tables

Sort Table dialog box

File | Multiuser | Display Locks

Table Locks dialog box

Locking records

The effects of locking from the Desktop

Networking Paradox


Exporting Data

You can export data from Paradox tables to different file formats. Using the Export utility, you can transfer data easily between Paradox and other applications. You can export data only to new files, not to existing ones.

Paradox supports exporting data to any of the file formats shown in the Export File Type list.

To export data,

1.	Choose File | Utilities | Export, or inspect a table's icon in the Folder window or Browser and choose Export from its menu. The Table Export dialog box opens.

2.	Select a table to export.

3.	Choose the file type you want to export the table to.

4.	Choose OK.

Paradox opens an export dialog box appropriate to the type of file you chose.

See Also

Exporting to a spreadsheet

Exporting to delimited text

Exporting to fixed length text

Table Export dialog box


Exporting to a Spreadsheet

You can export a table's data to a variety of spreadsheet applications.

In the Table Export dialog box, choose the table you want to export and choose the spreadsheet file format you want from the Export File Type panel.

When you choose OK, Paradox opens the Spreadsheet Export dialog box.

When you choose a spreadsheet format from the Export File Type panel, Paradox places the appropriate file extension in the New File Name text box of the Spreadsheet Export dialog box. The following table shows what file extension Paradox uses for each spreadsheet application.

Choose this format	To use this extension
Quattro Pro Win	.WB1
Quattro Pro DOS	.WQ1
Quattro	.WKQ
Lotus 2.x	.WK1
Lotus1.A	.WKS
Excel 3.0/4.0	.XLS
When you export data to a spreadsheet, Paradox converts each record to a row and each field to a column. If a value is wider than the column display width, the full value is converted but partially hidden.

If a date in the original table is beyond the range of the allowable dates in the spreadsheet, the date is exported as the value ERROR.

See Also

Spreadsheet Export dialog box

Table Export dialog box

Exporting data


Exporting to Delimited Text

Choose Delimited Text to export a table to an ASCII file in which the table's field values determine the length of the line.

In the Table Export dialog box, choose the table that contains the data you want to export and choose Delimited Text from the Export File Type list. Choose OK. Paradox opens the Delimited ASCII Export dialog box.

Delimited ASCII Export options

By default, in the exported file field values are separated by commas, and nonnumeric values are enclosed in double quotation marks. Each record is separated by a carriage return and a linefeed character. Dates and numbers are formatted as specified in the Control Panel.

If you want the exported file to display field values differently, choose Options in the Delimited ASCII Export dialog box. Paradox opens the Text Options dialog box.

Use the Fields Separated By panel to choose the character that separates field values in the exported file. You can choose commas, tabs, or choose Other, then enter the character you want to use in the Other text box.

Use the Fields Delimited By panel to choose the characters that surround values in the exported file. You can choose quotation marks, or choose Nothing if you do not want any characters to enclose the values. If you want to use a different character, choose Other, then enter the character you want in the Other text box.

Use the Delimited Fields panel to choose whether you want to surround data from all field types or only from text field types (alphanumeric or character) with quotation marks (or the character you specify in the Fields Delimited By panel).

Note: Paradox cannot export memo (Paradox or dBASE), formatted memo, graphic, OLE,idh_glos_ole or binaryidh_glos_binary field types to delimited text.

Use the Character Set panel to choose either the OEM or ANSI character set.

Choose the options you want and choose OK to return to the Delimited ASCII Export dialog box. Choose OK to export the data.

See Also

Table Export dialog box

Delimited ASCII Export dialog box

Text Options dialog box

Exporting to fixed length text

Exporting data


Exporting to Fixed Length Text

You can export a table to an ASCII file in which fields of each record are the same length.

In the Table Export dialog box, choose the table you want to export and choose Fixed Length Text from the Export File Type panel. When you choose OK, Paradox opens the Fixed Length ASCII Export dialog box.

When you export to a fixed length text file, Paradox creates the temporary EXPORT.DB table in your private directory. Paradox uses this table as the specification for the layout of the exported file.

In the Fixed Length ASCII Export dialog box, use the Export table to define the column length you want each field to have in the exported file. For each field name, enter a Start position (the column in the exported file where you want the field value to begin) and a Length (how many characters you want the field value to display). Dates and numbers are formatted as specified in the Control Panel.

You can use the Export Specification panel to work with the Export table. You can

Choose Save to save the Export table settings you specify. (Although the Export table is deleted when you exit Paradox or change your private directory, Paradox saves the table's settings permanently.)

Choose Load to load the settings from a previously saved Export table.

Choose Clear to clear the settings displayed in the Export table.

See Also

Fixed Length ASCII Export dialog box

Table Export dialog box

Exporting to delimited text

Exporting data


Getting Information About Table Structure

Use the Info Structure utility to get information about a table's structure.

Either choose File | Utilities | Info Structure, or inspect a table's icon in the Folder window or the Browser and choose Info Structure from its menu. In the Select File dialog box, choose a table. Paradox opens the Structure Information dialog box.

The Structure Information dialog box shows you validity checks, table lookups, secondary indexes, referential integrity, table language, and dependent tables.

You cannot change the table's structure from this dialog box. To change a table's structure, you must choose File | Utilities | Restructure.

Use the Table Properties drop-down list to view information about the table.

Validity Checks	Shows each field's defined validity checks. Move through the fields in the Field Roster to see each one's validity checks.

Table Lookup	Shows any tables that this table uses as a lookup table.

Secondary Indexes	Shows all the table's secondary indexes.

Referential Integrity	Shows whether this table refers to a parent table for valid data.

Table Language	Shows the table's language driver.

Dependent Tables	Shows any table that this table recognizes as a child in a referential integrity relationship.

If you choose Info Structure for a dBASE table, the Table Properties list shows only the table's indexes.

Choose Done to close the Structure Information dialog box when you're finished viewing the table's structure.

See Also

Select File dialog box

Restructuring a table


Subtracting Records

Use the Subtract utility to remove from one table (called the subtraction table) records that exist in another. For example, after a mass mailing, you might want to create a table of all customers who did not answer their letters. You could then subtract this table from your Customers table.

You can subtract records only from a keyed table. Because dBASE does not support Paradox keys, you cannot subtract records from a dBASE table. Instead, use a DELETE query.

During a subtract operation, Paradox removes any record that contains a value in its key field that exactly matches the corresponding field of a record in the subtraction table.

To subtract one table from another,

1.	Choose File | Utilities | Subtract, or inspect a table's icon in the Folder window or the Browser and choose Subtract from its menu. Paradox opens the Subtract dialog box.

2.	In the Subtract Records panel,

Enter the name of the table that contains the records you want to subtract in the In text box.

Enter the name of the table you want the records subtracted from in the From text box.

3.	Choose OK. Paradox prompts you to confirm the deletion of records from the table you entered in the From text box. Choose Yes to subtract the records or No to cancel the operation.

If you choose Yes, Paradox compares the two tables and subtracts matching records.

Rules for subtracting tables

The two tables you use in the Subtract operation must have compatible structures. This means compatible fields in the same field order.

If the table you subtract from is the parent table in a referential integrity relationship, the Subtract operation is not allowed. You must first either delete the referential integrity (by restructuring the child table) or delete the child table.

See Also

Deleting records: DELETE

Subtracting records on a network

Subtract dialog box

Compatible Paradox field types

Restructuring a table


Subtracting Records on a Network

When you use Subtract, Paradox needs to acquire a read lock on the table that contains the records you are subtracting and a write lock on the table you are subtracting records from. This means that until the records are subtracted, other users cannot

Change the contents or structure of either table

Perform any operation that requires a write or exclusive lock on either table

If another user has already placed a write or exclusive lock on either table, you must wait until the lock is removed before using Subtract.

Windows lets you open several instances of the same table at the same time, so you could be considered another user of the table, preventing the records from being subtracted. Make sure to close the table's window, and any of its associated documents' windows, before using Subtract.

See Also

Subtracting records

Networking Paradox


Keyboard

There are keyboard equivalents to most mouse operations in Paradox. These keyboard commands usually have an abbreviated series of keystrokes called shortcuts.

Menu commands

Applications

Control menu

Help system

Dialog boxes

Changing an object's properties

Rotating columns in a table

Selecting multiple fields

Function key actions in tables

Function key actions in forms

Function key actions in queries

Function key actions in ObjectPAL Editor window

Super Tab

Edit menu shortcuts

Keyboard shortcuts for table operations

Keyboard shortcuts in Form windows

Navigation and selection keys

Keys used in Edit mode

Keys used in Memo View


Menu Commands

These are the keys you use to access the menus in Paradox.

Use:	To:

Alt	Select the menu bar.

Arrow keys	Select menu items.

Enter or 	Open the selected menu.

Esc	Exit from a menu without choosing a command.

Each menu name has an underlined letter. To open a menu, press Alt plus the underlined letter. For example,

Alt+F	Opens the File menu

Alt+M	Opens the Form menu

To choose a command from a menu, select it with the arrow keys and press Enter. Or press the underlined letter in the command name. For example, when the File menu is open, press the letter O to open a file, S to save a file, or X to exit Paradox and unload it from memory.


Applications

Use:	To:

Alt+Spacebar	Open the Paradox Control menu.To move the Paradox window, choose Move, press the arrow keys to reposition the window, and press Enter when you finish.

Alt+Hyphen	Open the active window's Control menu.

Esc	Close a Control menu but leave the Control menu button selected. Press Esc a second time to deselect the Control menu button.

Alt+Esc	Move to another application on the Windows desktop, activating it if it is loaded in memory.

Alt+Tab	Restore a minimized application. Hold down Alt and press Tab repeatedly until the icon you want is selected, then release Alt only.

Ctrl+Esc	Switch to another application without removing the previous application from memory.


Control Menu

The Control menu drops down when you click the button at the left end of a window's title bar.

Use:	To:

Alt+Hyphen	Open the active window's Control menu.

Alt+Spacebar	Open the Paradox Control menu. To move the Paradox window, choose Move, press the arrow keys to reposition the window, and press Enter when you finish.

Alt+F4	Close the window. Windows prompts you for confirmation if your current work is unsaved.

Ctrl+Esc	Switch to another application without removing the previous application from memory.

Esc	Close a Control menu but leaves the Control menu button selected. Press Esc a second time to deselect the Control menu button.


Help System

Use:	To:

Alt+H, Enter	Open the Help menu at the index topic.

F1	Display help for a selected command.

Alt+F4	Close the Help window.

Tab	Move to the next underlined Help topic. For a jump, press Enter. For a glossary definition, press Enter once to see the definition; press Enter again to make it go away.

Shift+Tab	Move to the previous underlined Help topic. For a jump, press Enter. For a glossary definition, press Enter once to see the definition; press Enter again to make it go away.

Scroll down one line.

Scroll up one line.

PgUp,  PgDn	Scroll the Help window.

Alt+C	Display the Paradox Help index.

Alt+B	Return to the last Help screen you viewed.

Alt+<	Browse backward through the current sequence of Help screens.

Alt+>	Browse forward through the current sequence of Help screens.

Alt+S	Search for a particular term in the Help system.

Alt+T	Open the History list.


Dialog Boxes

Use:	To:

Esc	Close a dialog box, leaving the settings unchanged.

Spacebar	Toggle a selected check box between checked and unchecked.

Enter	Activate a selected command button.

Tab	Move to the next named option or group of options. Or press Alt plus an underlined letter in the option name to choose that option directly.

Shift+Tab	Move to the previous named option or group of options.

 and 	Select a radio button.

 and 	Highlight a selection list item. Or press the first letter of the item name to select the first item in the list beginning with that letter.

Alt	Drop a list down for the selected list box.

Alt+A	Add a selected file name to a list in some dialog boxes. In the Create/Restructure dialog box, Alt+A activates the Save As button.

Alt+D	Remove the last file from a list you're creating in some dialog boxes.

F1	Display context-sensitive help on dialog box.

Alt+F4	Closes context-sensitive help window.

F3	Super Back Tab. In multi-region dialog boxes, Super Back Tab moves backward from panels with tables in them to other panels. (Tab and Shift+Tab move among objects or fields within the region.)

F4	Super Tab. In multi-region dialog boxes, Super Tab moves forward from panels with tables in them to other panels. (Tab and Shift+Tab move among objects or fields within the region.)


Changing an Object's Properties

To view or change an object's properties, either

Select the object and choose Properties | Current Object (or press F6) in Form or Report design windows.

Choose Grid, Data, or Heading from a Table window's Properties menu, to view or change properties of parts of a table.

Note:	To change some graph properties, you must use a mouse. To change others, select the graph and press F6.

When Paradox displays the menu, you can use the [image] and [image] keys to move through the choices, and press Enter to choose a command.


Rotating Columns in a Table

To rotate the order of columns in a table with the keyboard,

1.	Select the column you want to move.

2.	Press Ctrl+R. This moves the selected column to the last place on the right of the table.

You can rotate the order of columns in a Table window and in table frames in the Form (not the Form Design) window.


Selecting Multiple Fields

You can select multiple fields across rows and columns in a Table window by dragging a box around the ones you want. Fields selected this way must be adjoining.

To select a group of fields using the keyboard

1.	Select the field where you want to begin (do not enter Field View).

2.	Hold down Shift while using the arrow keys to place a box around the fields you want.

Selecting all fields

To select all fields in the table (the entire table), choose Edit | Select All. Paradox places a box around the whole table.

Note:	You can select multiple fields in a Table window only.


Function Key Actions in Tables

Key	Action

F1	Help

F2	Field View

Shift+F2	Memo View (& DDE/OLE)

Ctrl+F2	Persistent Field View

Ctrl+F3	Refresh data*

F5	Lock Record

Shift+F5	Post Record

Ctrl+F5	Post/Keep Lock

F6	Object Inspector

Shift+F6	Inspect All

F7	Quick Form

Shift+F7	Quick Report

Ctrl+F7	Quick Graph

F9	Edit/End Edit

F10	Menu

F11	Previous Record

Shift+F11	Previous Set

Ctrl+F11	First Record

F12	Next Record

Shift+F12	Next Set

Ctrl+F12	Last Record

*When viewing SQL data, you must press Ctrl+F3 to perform a data refresh. Changes made by others do not automatically refresh the screen.

See Also

Keyboard shortcuts for table operations

Function key actions in forms

Function key actions in queries


Function Key Actions in Forms

Key	Action

F1	Help

F2	Field View

Shift+F2	Memo View (& OLE)

Ctrl+F2	Persistent Field View

F3	Super Back Tab

Shift+F3	Page Back

F4	Super Tab

Shift+F4	Page Forward

F5	Lock Record

Shift+F5	Post Record

Ctrl+F5	Post/Keep Lock

F6	Object Inspector

Shift+F6	Penetrating Properties

F7	Table View

F8	View Design

F9	Edit/End Edit**

F10	Menu

F11	Previous Record

Shift+F11	Previous Set

Ctrl+F11	First Record

F12	Next Record

Shift+F12	Next Set

Ctrl+F12	Last Record

*When viewing SQL data, you must press Ctrl+F3 to perform a data refresh. Changes made by others do not automatically refresh the screen.

**If you press F9 in the Form Design window, Paradox opens the form in Edit mode. This is a shortcut to pressing F8 (View Data) followed by F9 (Edit Data).

See Also

Super Tab

Keyboard shortcuts in Form windows

Function key actions in tables

Function key actions in queries


Function Key Actions in Queries

Key	Action

F1	Help

F2	Field View

Ctrl+F2	Persistent Field View

Ctrl+F3	Refresh Data*

F3	Up Image

F4	Down Image

F5	Example

F6	Checkmark

Shift+F6	Cycle Checks [image], [image], [image], [image] and

F8	Run Query

F10	Menu

*When viewing SQL data, you must press Ctrl+F3 to perform a data refresh. Changes made by others do not automatically refresh the screen.

See Also

Function key actions in tables

Function key actions in forms


Function Key Actions in ObjectPAL Editor Window

Key	Action

F1	Help

F2	Accept

Shift+F2	Accept and close

F3	Inspect variable

Shift+F3	Stack backtrace

Ctrl+F3	Set breakpoint

F5	Go to line

Ctrl+F5	Next warning

F6	Language menu

F7	Step over

Shift+F7	Step into

F8	Run

Shift+F8	Disk save and run

F9	Check syntax

Ctrl+F9	Deliver form (Save first)

F10	Menu

See Also

ObjectPAL


Super Tab

Use Super Tab (F4) and Super Back Tab (F3) to move among panels in multi-region windows and dialog boxes.

Create/ Restructure dialog box

The Field Roster is one panel in a multi-region dialog box. You use Tab or Shift+Tab to move from column to column in the Field Roster. The Table Properties panel---its list boxes and buttons---is another panel in this multi-region dialog box. Tab and Shift+Tab move through all the objects in the Table Properties panel, then through all other buttons in the dialog box.

Press Super Back Tab (F3) to move from the Field Roster panel to the Help button.

Press Super Tab (F4) to move from the Field Roster panel to the Table Properties panel.

To return to the Field Roster panel from the Table Properties panel, press Shift+Tab until you get back (you see no insertion point or highlighted box in the Table Properties panel). Or Tab forward through all objects in the Table Properties panel and the dialog box until you reach the Field Roster panel.

Multi-table forms

In multi-table forms, use Super Tab (F4) to move forward among the table objects. (Tab and Shift+Tab move right and left among fields within a table object.) Use Super Back Tab (F3) to move backward.

Query images

In multi-table query images, use Super Tab (F4) to move forward among the table images. (Tab and Shift+Tab move right and left among fields within a table image.) Use Super Back Tab (F3) to move backward.

Other multi-region dialog boxes

In dialog boxes that contain embedded tables, Super Tab or Super Back Tab move you out of the table. These dialog boxes include Answer Table Properties, Fixed Length ASCII Import, and Fixed Length ASCII Export dialog boxes. (Tab and Shift+Tab move right and left among fields within a table.)

Key	Action

F3	Super Back Tab

F4	Super Tab


Edit Menu Shortcuts

Key combination	Menu command

Alt+Backspace	Edit | Undo

Shift+Del	Edit | Cut

Ctrl+Ins	Edit | Copy

Shift+Ins	Edit | Paste

Del	Edit | Clear or Edit | Delete (as appropriate)


Keyboard Shortcuts for Table Operations

Key combination	Action

Alt+Backspace	Undo

Ctrl+A	Locate Next

Ctrl+D	Ditto (repeat value in field above)

Ctrl+F	Field View

Ctrl+G	Inspect Grid

Ctrl+H	Inspect Heading

Ctrl+Ins	Copy

Ctrl+Shift+H	Inspect All Headings

Ctrl+L	Lock Record

Ctrl+Shift+L	Post Record

Ctrl+M	Inspect Field

Ctrl+Shift+M	Inspect All Fields

Ctrl+R	Rotate Columns

Ctrl+T	Memo View

Ctrl+Z	Locate Value

Ctrl+Shift+Z	Locate and Replace

Del	Clear or Delete (as appropriate)

Shift+Del	Cut

Shift+Ins	Paste

See Also

Function key actions in tables

Keyboard shortcuts in Form windows


Keyboard Shortcuts in Form Windows

Key combination	Action

Ctrl+A	Locate Next

Ctrl+D	Ditto (repeat value in field above)

Ctrl+F	Field View

Ctrl+Ins	Copy

Ctrl+L	Lock Record

Ctrl+Shift+L	Post Record

Ctrl+R	Rotate Columns (on table frame)

Ctrl+T	Memo View

Ctrl+Z	Locate Value

Ctrl+Shift+Z	Locate and Replace

Del	Clear or Delete (as appropriate)

Shift+Del	Cut

Shift+Ins	Paste

See Also

Function key actions in forms

Keyboard shortcuts for table operations


 Navigation and Selection Keys

This table shows the keys you can use to navigate with when you're looking at data in forms and tables. Make sure Num Lock is off when you use Alt in combination with a keypad key.

Key	Non-Field View	Field View
PgUp	Up one set of records	Up one set of records
Ctrl + PgUp	Left one screen	Left one screen
PgDn	Down one set of records	Down one set of records
Ctrl + PgDn	Right one screen	Right one screen
Home	First field of record	Beginning of field
Shift + Home	Select to first field of record*	Select to beginning of field
Ctrl + Home	First field of first record	First field of first record
Alt + Home	First field of record	First field of record
End	Last field of record	End of field
Shift + End	Select to last field of record*	Select to end of field
Ctrl + End	Last field of last record	Last field of last record
Alt + End	Last field of record	Last field of record
	Left one field	Left one character
Shift	Select left one field*	Select left one character
Ctrl	First column	Left one word
Ctrl + Shift	Extend selection left one word	Extend selection left one column
Alt	Left one field	Left one field
	Right one field	Right one character
Shift	Select right one field*	Select right one character
Ctrl	Last column	Right one word
Ctrl + Shift	Extend selection right one column	Extend selection right one word
Alt	Right one field	Right one field
	Up one field	Up one line in multi-line field or up one record in single-line field
Shift	Select up one field*	Select up one line within multi-line field or up one record in single-line field
Alt	Up one field	Up one field
	Down one field	Down one line within multi-line field or down one record in single-line field
Shift	Select down one field*	Select down one line within multi-line field or down one record in single-line field
Alt	Down one field	Down one field
* Multiple selection of fields is available only in tables, not in forms.


Keys Used in Edit Mode

This table shows the keys to use while editing. Entering Field View does not change the action of these keys.

Key	Action

Ins	Insert record

Shift+Ins	Paste

Ctrl+Ins	Copy

Del	Delete selected text

Shift+Del	Cut

Ctrl+Del	Delete record

Backspace	Delete character to the left or delete selected text

Ctrl+Backspace	Delete word to left

Alt+Backspace	Undo record edit

Esc	Undo field edit

Tab	Post value and move to next field

Shift+Tab	Post value and move to previous field

Enter	Post value and move to next field

See Also

Keys used in Memo View


Keys Used in Memo View

This table shows the keys to use while editing a memo or formatted memo field.

Key	Action in memo

PgUp	Up one screen

Ctrl + PgUp	Left one screen

PgDn	Down one screen

Ctrl + PgDn	Right one screen

Home	Beginning of line

Shift + Home	Select to beginning of line

Ctrl + Home	Beginning of memo field

End	End of line

Shift + End	Select to end of line

Left one character

Shift	Select left one character

Ctrl	Left one word

Right one character

Shift	Select right one character

Ctrl	Right one word

Up one line

Shift	Select up one line

Down one line

Shift	Select down one line

Shift + Ins	Paste

Ctrl + Ins	Copy

Del	Delete selected text

Shift + Del	Cut

Backspace	Delete left character

Ctrl + Backspace	Delete left word

Alt + Backspace	Undo memo edit

Esc	Undo memo edit

Tab	Insert tab character in text

Enter	Insert carriage return in text


Glossary

active

describes the object or window to which the next keystroke or mouse action will apply

alias

the name you assign to a directory path

alphanumeric field

a field containing letters, numbers, or a combination of both

Answer table

a temporary table used to store the results of a query

arithmetic operators

the  +,  -,  *,  /, and ( ) operators used to construct arithmetic expressions in queries and calculated fields

ascending order

a sort order: alphabetic order in alphanumeric fields (most often A to Z case sensitive, but the order depends on the language driver you are using); low to high in numeric fields, earliest to latest in date fields

ASCII

American Standard Code for Information Interchange; a sequence of 128 standard characters

asymmetrical outer join

a query in which an inclusive link is specified for only one of the tables involved

axis

the horizontal or vertical line that defines the range of values plotted on a graph. The x-axis is the horizontal line. The y-axis is the vertical line.

band

a repeating horizontal section of a report design. The Report Design window shows the report band, page band, and record band by default. Group bands are optional.

binary field

a field used to store data Paradox cannot interpret. A common use of a binary field is to store sound.

bind

to associate a form or report with one or more tables. The document then takes its data from the table(s) to which it is bound.

blank field

a field that does not contain a value

BLOB

acronym for binary large object. Field types that can contain BLOBs include binary, memo (both Paradox and dBASE memo), formatted memo, graphic, and OLE.

cascade

to use referential integrity to update child tables when a value changes in the parent table

check box

a box you can check or uncheck to set an option. You can check more than one check box in a set.

checkmark

the symbol [image]  used in query statements to indicate that a field is to be displayed in the Answer table

client

the application that starts a DDE or OLE conversation and usually receives data from the other application, called the server

Clipboard

a temporary area used to copy and paste information from one location to another

command

a word on a menu or button that you choose to perform an action

comparison operator

in a query, the operators (<, >, <=, >=, and =) you can use to compare two values

composite key

a key comprised of two or more fields of a Paradox table which, together, provide a unique value for the table

concatenate

to combine two or more alphanumeric values using the + operator

constant

a specific, unchanging value used in calculations

container object

an object that completely surrounds and controls the behavior of all objects within it. When you move a container, its contained objects also move; when you delete a container, its contained objects are also deleted.

crosstab

an object that lets you summarize the data in one field by expressing it in terms of two other fields, presenting it in a spreadsheet-like structure

Crosstab tool

a SpeedBar tool that creates crosstab objects

data

the information stored in a table

data integrity

the assurance that the values in a table are protected from corruption

data type

the kind of data a field can contain

Paradox data types are alphanumeric, number, currency, date, short number, memo, formatted memo, binary, graphic, and OLE.

dBASE data types are character, float number, number, date, logical, and memo.

database

an organized collection of information

DDE

Dynamic Data Exchange. A way for two or more applications to share data.

default

what Paradox automatically does or looks like in the absence of an overriding command

default action

the choice that Paradox determines to be the most logical or safest and the one that will be carried out unless otherwise specified. Default actions are performed by double-clicking on an object or its icon.

default value

in validity checks, the value automatically entered in a field if no other value is entered

define

to attach a design object to data from a table. For example, you define a field object in a form as a field in a table.

descending order

a sort order: reverse alphabetical order in alphanumeric fields (most often Z to A case-sensitive, but the order depends on the language driver you are using); high to low in numeric fields, latest to earliest in date fields

design document

a form or report that you create or modify in a design window

design object

an object you can place in forms and reports. You create design objects using SpeedBar tools in a design window.

design window

the window where you create or modify the design of a document. If you're viewing data in a Form or Report window, press F8 or click the Design button to open the corresponding design window for that document.

Desktop

the main window in Paradox. The Desktop is the highest level of interaction with all Paradox objects.

detail table

in multi-table relationships, the table whose records are subordinate to those of the master table

dialog box

a box that requests or provides information. Many dialog boxes present options to choose among before you can perform an action. Other dialog boxes display warnings or error messages.

drop-down list box

a single-line text box that opens to display more choices when you click a downward pointing arrow

event

the action that triggers an ObjectPAL method. For example, pushing a button or clicking the mouse are events.

example element

a character or group of characters that represents a value in a field of a query

exclusive link

in a query, the use of an example element to retrieve from one table only those records that match the records in another table

field

a column of information in a table. A collection of related fields makes up one record.

field type

the type of data a field can contain

Paradox field types are alphanumeric, number, currency, date, short number, memo, formatted memo, binary, graphic, and OLE.

dBASE field types are character, float number, number, date, logical, and memo.

field value

the data contained in one field of a record. If no data is present, the field is considered blank.

Field View

a mode that lets you move through a field character by character. Use this mode to view field values that are too large to be displayed in the current field width, or to edit a field value.

file

a collection of information stored under one name on a disk. For example, Paradox tables are stored in files.

font

a design applied to all characters. Font styles usually include bold, italic, and underline.

footer

information that appears at the bottom of every page of a report. Footers are created in the page bands, report, and group bands of Paradox reports.

form

an alternate presentation of a table's data. A multi-table form can display data from several tables at once.

function

a built-in formula that performs computations or determines the status of ObjectPAL, Paradox, or your computer system

function keys

the 12 keys across the top of the keyboard labeled F1 through F12. (Some keyboards have 10 function keys at the left.) These keys provide fast access to Paradox operations.

grid

a network of horizontal and vertical lines available in all design windows as aids for placement of objects. You can show or hide the grid, as well as resize it.

group

(1)	in a report or query, a set of records that either

have the same value in one or more fields

fall within a range of values

are displayed in a fixed number of records

(2)	to collectively identify various objects as a single entity

group band

the section of a report that defines the group and repeats for every group of records

GroupBy operator

in a query, the operator (indicated by [image] ) that groups records by a field without displaying the field's values in the Answer table

header

information that appears at the top of every page of a report. Headers are created in the page, report, and group bands of Paradox reports.

highlight

to select by dragging the mouse across a line or lines of text

icon

a graphical representation of an object

inclusion operator

the symbol ! used with an example element to include a complete set of records in the Answer table, whether or not they match records in another table

inclusive link

a query whose answer includes all the values in a field of one table, whether or not there are matching values in the linked field of another table

index

a file that determines an order in which Paradox can access the records in a table. A Paradox table's key establishes its primary index.

inspect

to view or change an object's properties. To inspect an object, either right-click it or select it with the keyboard and press F6. The object's menu appears. Choose from the menu the property you want to change.

key

a field or group of fields in a Paradox table used to order records or ensure referential integrity. Establishing a key has three effects:

The table is prevented from containing duplicate records.

The records are maintained in sorted order based on the key fields.

A primary index is created for the table.

keycode

a code that represents a keyboard character in ObjectPAL scripts. A keycode can be an ASCII number, an IBM extended keycode number, or a string representing a keyname known to Paradox.

keyword

a word reserved for use with certain commands in ObjectPAL

library

a Paradox object that stores custom ObjectPAL code. Libraries are useful for storing and maintaining frequently-used routines and for sharing custom methods and variables among forms, scripts, and other libraries.

link

to establish a relationship between tables by linking corresponding fields

list box

a list of selectable items in a dialog box

lock

a device that prevents other users from viewing, changing, or locking a table while one user is working with it

logical operator

one of three operators (AND, OR, or NOT) that can be used in queries

logical value

a value (True or False) assigned to an expression when it is evaluated

lookup table

a table that assures that a value entered in one table matches an existing value in another table

Main menu

the menu bar across the top of the Paradox Desktop

master table

in a multi-table relationship, the primary table of your data model. If you have only one table in your data model, that table is the master table.

method

ObjectPAL code attached to an object that defines the object's response to an event

multi-record

refers to an object that displays several records at once in a form or report

normalized data structure

an arrangement of data in tables in which each record includes the fewest number of fields necessary to establish unique categories. Rather than using a few redundant fields to provide all possible information within a single table, normalized tables distribute information over many tables using fewer fields. Normalized tables provide more flexibility in terms of analysis.

number field

a field that can contain only numbers, a sign, and a decimal point

object

a table, form, report, query, script, or library. All entities that can be manipulated in Paradox are objects.

ObjectPAL

the Paradox for Windows Application Language

OLE

OLE stands for Object Linking and Embedding. Use OLE to insert files from OLE servers into Paradox tables or OLE objects.

operator

a symbol that represents an operation to be performed on a value or values. For example, the + operator represents addition, and the * operator represents multiplication.

outer join

a type of query that uses the inclusion operator (!) to retrieve all records in a table, whether or not they match records in another table

picture

a pattern of characters that defines what you can type into a field during editing or data entry

primary index

an index on the key fields of a Paradox table. A primary index

Determines the location of records.

Lets you use the table as the detail in a link.

Keeps records in sorted order.

Speeds up operations.

prompt

instructions displayed on the screen. Prompts ask for information or guide you through an operation.

properties

the attributes of an object. You right-click an object to view or change its properties.

prototyping

a process of application development in which small parts or the general structure of an application are designed and tested interactively. These models are then used as the basis for building the finished system.

query

a question you ask Paradox about information in your tables. The query can be a simple question about the information in a single table or a complex question about information in several tables.

query by example (QBE)

the method of asking questions about data by providing an example of the answer you're looking for

query operators

the reserved words Paradox uses in queries

query statement

one or more filled out query images in the Query window

record

a horizontal row in a Paradox table that contains a group of related fields of data

record number

a unique number that identifies each record in a Paradox table

referential integrity

a way of ensuring that the ties between like data in separate tables cannot be broken

report

information from tables printed on paper or previewed onscreen

reserved words

the names of commands, keywords, functions, system variables, and operators. These words may not be used as ObjectPAL variable or array names.

restructure

to change the structure of an existing table. You can change the field names, field types, field order, keys, indexes, validity checks, referential integrity, password protection, table language, and table lookup.

script

a Paradox object that consists of ObjectPAL code in its own file, not attached to a form

secondary index

an index used for linking, querying, and changing the view order of tables

server

the application that responds to the calling application, or client, in a DDE or OLE conversation. The server usually sends data to the client.

set

in a query, a specific group of records about which you intend to ask questions

set comparison operator

one of the reserved words (ONLY, NO, EVERY, EXACTLY) used to compare a defined set of records to other records

short number field

a Paradox field type that can contain numbers from -32,767 through 32,767 with no decimal values

special field

a field (placed in a design document) that contains information about a table or design. Special fields include Today, Now, and Page Number.

SpeedBar

the set of buttons and tools for frequently performed tasks. The SpeedBar is under the menu bar and changes according to the window you're using.

SQL

Structured Query Language (abbreviated SQL and commonly pronounced "sequel") is the standard language for storing and manipulating data in relational databases.

string

an alphanumeric value, or an expression consisting of alphanumeric characters

structure

the arrangement of fields in a table

summary operator

one of the operators (AVERAGE, COUNT, MAX, MIN, or SUM) that answers questions about groups of records in queries

syntax error

an error caused by an incorrectly expressed statement

table

a structure made up of rows (records) and columns (fields) that contains information

table language driver

determines the table's sort order and available character set. The Configuration Utility lets you set the default language driver for Paradox and dBASE tables.

validity check

a constraint on the values you can enter in a field

variable

a place in memory to store data temporarily

wildcard operators

special characters Paradox uses to match patterns in queries or when locating values

zoom

to change the scale of a design screen. You can zoom out (decrease the scale and see a larger area) or zoom in (increase the scale and see part of the design up close).


active

describes the object or window to which the next keystroke or mouse action will apply


alias

the name you assign to a directory path


alphanumeric field

a field containing letters, numbers, or a combination of both


ANSI

stands for American National Standards Institute and refers to the character set supported by Windows


Answer table

a temporary table used to store the results of a query


arithmetic operators

the  +,  -,  *,  /, and ( ) operators used to construct arithmetic expressions in queries and calculated fields


ascending order

a sort order: alphabetic order in alphanumeric fields (most often A to Z case sensitive, but the order depends on the language driver you are using); low to high in numeric fields, earliest to latest in date fields


ASCII

American Standard Code for Information Interchange; a sequence of 128 standard characters


asymmetrical outer join

a query in which an inclusive link is specified for only one of the tables involved


axis

the horizontal or vertical line that defines the range of values plotted on a graph. The x-axis is the horizontal line. The y-axis is the vertical line.


band

a repeating horizontal section of a report design. The Report Design window shows the report band, page band, and record band by default. Group bands are optional.


binary field

a field used to store data Paradox cannot interpret. A common use of a binary field is to store sound.


bind

to associate a form or report with one or more tables. The document then takes its data from the table(s) to which it is bound.


blank field

a field that does not contain a value


BLOB

acronym for binary large object. Field types that can contain BLOBs include binary, memo (both Paradox and dBASE memo), formatted memo, graphic, and OLE.


cascade

to use referential integrity to update child tables when a value changes in the parent table


check box

a box you can check or uncheck to set an option. You can check more than one check box in a set.


checkmark

the symbol [image]  used in query statements to indicate that a field is to be displayed in the Answer table


client

the application that starts a DDE or OLE conversation and usually receives data from the other application, called the server


Clipboard

a temporary area used to copy and paste information from one location to another


command

a word on a menu or button that you choose to perform an action


comparison operator

in a query, the operators (<, >, <=, >=, and =) you can use to compare two values


composite key

a key comprised of two or more fields of a Paradox table which, together, provide a unique value for the table


concatenate

to combine two or more alphanumeric values using the + operator


constant

a specific, unchanging value used in calculations


contain

to place one object within another object so that the behavior of the contained object is controlled by the container object


container object

an object that completely surrounds and controls the behavior of all objects within it. When you move a container, its contained objects also move; when you delete a container, its contained objects are also deleted.


crosstab

an object that lets you summarize the data in one field by expressing it in terms of two other fields, presenting it in a spreadsheet-like structure


Crosstab tool

a SpeedBar tool that creates crosstab objects


data

the information in a table


data integrity

the assurance that the values in a table are protected from corruption


data type

the kind of data a field can contain

Paradox data types are alphanumeric, number, currency, date, short number, memo, formatted memo, binary, graphic, and OLE.

dBASE data types are character, float number, number, date, logical, and memo.


database

an organized collection of information


DDE

Dynamic Data Exchange. A way for two or more applications to share data.


default

what Paradox automatically does or looks like in the absence of an overriding command


default action

the choice that Paradox determines to be the most logical or safest and the one that will be carried out unless otherwise specified. Default actions are performed by double-clicking on an object or its icon.


default value

in validity checks, the value automatically entered in a field if no other value is entered


define

to attach a design object to data from a table. For example, you define a field object in a form as a field in a table.


descending order

a sort order: reverse alphabetical order in alphanumeric fields (most often Z to A case-sensitive, but the order depends on the language driver you are using); high to low in numeric fields, latest to earliest in date fields


design document

a form or report that you create or modify in a design window


design object

an object you can place in forms and reports. You create design objects using SpeedBar tools in a design window.


design window

the window where you create or modify the design of a document. If you're viewing data in a Form or Report window, press F8 or click the Design button to open the corresponding design window for that document.


Desktop

the main window in Paradox. The Desktop is the highest level of interaction with all Paradox objects.


detail table

in multi-table relationships, the table whose records are subordinate to those of the master table


dialog box

a box that requests or provides information. Many dialog boxes present options to choose among before you can perform an action. Other dialog boxes display warnings or error messages.


drop-down list box

a single line text box that opens to display more choices when you click a downward pointing arrow


example element

a character or group of characters that represents a value in a field of a query


exclusive link

in a query, the use of an example element to retrieve from one table only those records that match the records in another table


field

a column of information in a table. A collection of related fields makes up one record.


field type

the type of data a field can contain

Paradox field types are alphanumeric, number, currency, date, short number, memo, formatted memo, binary, graphic, and OLE.

dBASE field types are character, float number, number, date, logical, and memo.


field value

the data contained in one field of a record. If no data is present, the field is considered blank.


Field View

a mode that lets you move through a field character by character. Use this mode to view field values that are too large to be displayed in the current field width, or to edit a field value.


file

a collection of information stored under one name on a disk. For example, Paradox tables are stored in files.


font

a design applied to all characters. Font styles usually include bold, italic, and underline.


footer

information that appears at the bottom of every page of a report. Footers are created in the page bands, report, and group bands of Paradox reports.


form

an alternate presentation of a table's data. A multi-table form can display data from several tables at once.


function keys

the 12 keys across the top of the keyboard labeled F1 through F12. (Some keyboards have 10 function keys at the left.) These keys provide fast access to Paradox operations.


grid

a network of horizontal and vertical lines available in all design windows as aids for placement of design objects. You can show or hide the grid, as well as resize it.


group

in a report or query, a set of records that either

have the same value in one or more fields

fall within a range of values

are displayed in a fixed number of records


group

to collectively identify various design objects as a single entity


group band

the section of a report that defines the group and repeats for every group of records


GroupBy operator

in a query, the operator (indicated by [image] ) that groups records by a field without displaying the field's values in the Answer table


header

information that appears at the top of every page of a report. Headers are created in the page, report, and group bands of Paradox reports.


highlight

to select by dragging the mouse across a line or lines of text


icon

a graphical representation of an object


inclusion operator

the symbol ! used with an example element to include a complete set of records in the Answer table, whether or not they match records in another table


inclusive link

a query whose answer includes all the values in a field of one table, whether or not there are matching values in the linked field of another table


index

a file that determines an order in which Paradox can access the records in a table. A Paradox table's key establishes its primary index.


inspect

to view or change an object's properties. To inspect an object, either right-click it, or select it with the keyboard and press F6. The object's menu appears. Choose from the menu the property you want to change.


key

a field or group of fields in a Paradox table used to order records or ensure referential integrity. Establishing a key has three effects:

The table is prevented from containing duplicate records.

The records are maintained in sorted order based on the key fields.

A primary index is created for the table.


link

to establish a relationship between tables by linking corresponding fields


list box

a list of selectable items in a dialog box


lock

a device that prevents other users from viewing, changing, or locking a table while one user is working with it


logical operator

one of three operators (AND, OR, or NOT) that can be used in queries


logical value

a value (True or False) assigned to an expression when it is evaluated


lookup table

a table that assures that a value entered in one table matches an existing value in another table


Main menu

the menu bar across the top of the Paradox Desktop


master table

in a multi-table relationship, the primary table of your data model. If you have only one table in your data model, that table is the master table.


method

ObjectPAL code attached to an object that defines the object's response to an event


multi-record

refers to an object that displays several records at once in a form or report


normalized data structure

an arrangement of data in tables in which each record includes the fewest number of fields necessary to establish unique categories. Rather than using a few redundant fields to provide all possible information within a single table, normalized tables distribute information over many tables using fewer fields. Normalized tables provide more flexibility in terms of analysis.


number field

a field that can contain only numbers, a sign, and a decimal point


object

a table, form, report query, script, or library. All entities that can be manipulated in Paradox are objects.


ObjectPAL

the Paradox for Windows Application Language


OEM

stands for Original Equipment Manufacturer and refers to the character set your computer uses


OLE

OLE stands for Object Linking and Embedding. Use OLE to insert files from OLE servers into Paradox tables or OLE objects.


operator

a symbol that represents an operation to be performed on a value or values. For example, the + operator represents addition, and the * operator represents multiplication.


outer join

a type of query that uses the inclusion operator (!) to retrieve all records in a table, whether or not they match records in another table


picture

a pattern of characters that defines what you can type into a field during editing or data entry


primary index

an index on the key fields of a Paradox table. A primary index

Determines the location of records.

Lets you use the table as the detail in a link.

Keeps records in sorted order.

Speeds up operations.


prompt

instructions displayed on the screen. Prompts ask for information or guide you through an operation.


properties

the attributes of an object. You right-click an object to view or change its properties.


prototyping

a process of application development in which small parts or the general structure of an application are designed and tested interactively. These models are then used as the basis for building the finished system.


query

a question you ask Paradox about information in your tables. The query can be a simple question about the information in a single table or a complex question about information in several tables.


query by example (QBE)

the method of asking questions about data by providing an example of the answer you're looking for


query operators

the reserved words Paradox uses in queries


query statement

one or more filled out query images in the Query window


record

a horizontal row in a Paradox table that contains a group of related fields of data


record number

a unique number that identifies each record in a Paradox table


referential integrity

a way of ensuring that the ties between like data in separate tables cannot be broken


report

information from tables printed on paper or previewed onscreen


reserved words

the names of commands, keywords, functions, system variables, and operators. These words may not be used as ObjectPAL variable or array names.


restructure

to change the structure of an existing table. You can change the field names, field types, field order, keys, indexes, validity checks, referential integrity, password protection, table language, and table lookup.


secondary index

an index used for linking, querying, and changing the view order of tables


server

the application that responds to the calling application, or client, in a DDE or OLE conversation. The server usually sends data to the client.


set

in a query, a specific group of records about which you intend to ask questions


set comparison operator

one of the reserved words (ONLY, NO, EVERY, EXACTLY) used to compare a defined set of records to other records


short number field

a Paradox field type that can contain numbers from -32,767 through 32,767 with no decimal values


special field

a field (placed in a design document) that contains information about a table or design. Special fields include Today, Now, and Page Number.


SpeedBar

the set of buttons and tools for frequently performed tasks. The SpeedBar is under the menu bar and changes according to the window you're using.


string

an alphanumeric value, or an expression consisting of alphanumeric characters


structure

the arrangement of fields in a table


summary operator

one of the operators (AVERAGE, COUNT, MAX, MIN, or SUM) that answers questions about groups of records in queries


syntax error

an error caused by an incorrectly expressed statement


table

a structure made up of rows (records) and columns (fields) that contains information


table language driver

determines the table's sort order and available character set. The Configuration Utility lets you set the default language driver for Paradox and dBASE tables.


validity check

a constraint on the values you can enter in a field


variable

a place in memory to store data temporarily


wildcard operators

special characters Paradox uses to match patterns in queries or when locating values


zoom

to change the scale of a design screen. You can zoom out (decrease the scale and see a larger area) or zoom in (increase the scale and see part of the design up close).


event

the action that triggers an ObjectPAL method. For example, pushing a button or clicking the mouse are events.


function

a built-in formula that performs computations or determines the status of ObjectPAL, Paradox, or your computer system


keycode

a code that represents a keyboard character in ObjectPAL scripts. A keycode can be an ASCII number, an IBM extended keycode number, or a string representing a keyname known to Paradox.


keyword

a word reserved for use with certain commands in ObjectPAL


library

a Paradox object that stores custom ObjectPAL code. Libraries are useful for storing and maintaining frequently used routines and for sharing custom methods and variables among forms, scripts, and other libraries.


script

a Paradox object that consists of ObjectPAL code in its own file, not attached to a form


pop-up definitions

introduce you to terms that might be unfamiliar or words that Paradox uses in a special way


dependent tables

tables that depend on the current table for referential integrity


SQL

Structured Query Language (abbreviated SQL and commonly pronounced "sequel") is the standard language for storing and manipulating data in relational databases.


 Alias Manager Dialog Box (SQL Link)

Use the Alias Manager dialog box to create or modify aliases for local, network, or remote database directories. You can also choose to connect or disconnect from a server.

Creating aliases lets you give logical names to databases and is strongly encouraged, since it frees you from absolute path names, making your files more portable.

The settings for this dialog box reflect the information stored in your ODAPI.CFG file.

Dialog Box Options

Database Alias

Choose an alias from the list. To create a new alias, first choose New, then type the name (alias) you want to give the database.

Driver Type

Choose a driver from the list. The Driver Type list shows all the drivers you are connected to. The options below reflect the database parameters settings from your ODAPI.CFG file.

Note:	If you want to create a database of Paradox and/or dBASE tables, choose STANDARD.

Database

Type the name of the database.

Server Name

Type the full path of the database, including the name of the server.

User Name

Type the name of the user recognized by the database server.

Open Mode

Paradox displays the type of file access mode available to you.

Schema Cache

Type the number of closed tables for which you want to cache metadata. The minimum setting is 0 (no caching of metadata) and the maximum setting is 32 tables. The default setting is 8 tables.

Blob Edit

Enter True if you want to have all blob transactions logged. Setting this option to False will increase performance.

Langdriver

Enter the Language Driver to control the data on your server.

Net Protocol

Type the name of the network transport protocol recognized by the server.

Password

Type the password needed to connect to the server. Asterisks (*) represent the characters you type.

Connect

Choose Connect to establish a connection to the server listed above.

Disconnect

Choose Disconnect to break the connection to the server listed above.

New

Choose New to open an empty box where you can type in a new alias. After you click New, the button becomes the Keep New button.

Keep New

Choose Keep New if you want this to be a temporary alias, existing only until you exit. Then click OK or Cancel to close the Alias Manager dialog box.

Note:	Keep New does not close the dialog box. It lets you do a temporary save which does not take effect until you click OK. If you click Cancel, whatever you put in Keep New is cancelled out.

Choose Keep New if you are creating several aliases and do not want to open this dialog box to create each one.

Remove

Choose Remove to tag the selected alias for removal. The alias is removed when you exit the box without specifying the removed name again or when you do a Save As and overwrite the current file containing the alias.

Save As

Choose Save As if you want this alias to be permanent---usable any time you use Paradox. You'll see the Save File As dialog box. By default, Paradox stores saved aliases in ODAPI.CFG.

Note:	The message, "File already exists. Overwrite?", appears when you click Save As and choose a file name. Choose Yes. Paradox appends the aliases to the file; it does not replace the ones already there.

OK

Choose OK if you want to save any changes you've made in the dialog box, but only for the current Paradox session. All Windows applications currently running are affected by any changes.

Cancel

Cancels only the changes in type-in boxes. Any changes you made with Save As remain.

See Also

Creating a new alias

Modifying an alias

Aliases


Database Information Dialog Box (SQL Link)
 Database Information Dialog Box

Use the Database Information Dialog box to view or modify the connection parameters you set for accessing remote servers. You need to modify these parameters when

You connect to a server for the first time in a session.

You change connections to access data in a different location.

Paradox displays the parameter settings you entered in the Alias Manager dialog box. In most cases, all you need to add or modify is the user name and password.

Dialog Box Options

Database Alias

Paradox displays the alias name you entered in the Alias Manager dialog box.

Server Name

Type the full path of the database, including the name of the server.

User Name

Type the name of the user recognized by the database server.

Net Protocol

Paradox displays the name of the network transport protocol recognized by the server.

Open Mode

Paradox displays the type of file access mode available to you.

Schema Cache

Type the number of closed tables for which you want to cache metadata. The minimum setting is 0 (no caching of metadata) and the maximum setting is 32 tables. The default setting is 8 tables.

Password

Type the password needed to connect to the server. Asterisks (*) represent the characters you type.

See Also

Alias Manager Dialog Box (SQL Editor)


 Edit | Search (SQL Editor)

Choose Edit | Search to find a particular text string (word or phrase) in your SQL statement.

When you choose Edit | Search, Paradox opens the Search dialog box, where you specify the text to search for and the case-sensitivity.

To search and replace text, choose Edit | Replace.

See Also

Edit | Search dialog box

Edit | Search Next

Edit | Replace


Search button (SQL editor)
 Search button

Click the Search button to search for strings of values in your SQL statement. This is the same as choosing Edit | Search.

When you click Search, Paradox opens a dialog box where you can type the value you want to find.

See also

Edit | Search

Search dialog box


 Search Dialog Box (SQL Editor)

Use the Search dialog box to find strings of text in your SQL statement. To open the Search dialog box, choose Edit | Search.

Dialog Box Options

Search For

Type the text you want to look for, or paste it from the clipboard.

Case Sensitive

Check this to make the search case-sensitive, that is, to consider whether letters are upper- or lowercase.

Click OK, and Paradox moves to the first occurrence of the text. To repeat the search, choose Edit | Search Next. To search and replace text, choose Edit | Replace.

See Also

Edit | Search Next

Edit | Replace


 Edit | Search Next (SQL Editor)

Choose Edit | Search Next to move to the next occurrence of the text you specified in the Search dialog box.

Note:	Search Next is dimmed if you have not searched for anything in the current SQL Editor window.

To search and replace text, choose Edit | Replace.

See Also

Edit | Search dialog box

Edit | Replace


 Search Next button

Click the Search Next button to search for the next occurrence of the value you last searched for. This is the same as choosing Edit | Search Next.

Search Next is unavailable until you choose Edit | Search and specify a value.

See Also

Edit | Search


 Edit | Replace (SQL Editor)

Choose Edit | Replace to search for text and replace it with a value you specify. Use the Search & Replace dialog box to specify the text you are searching for and what you want to replace it with.

See Also

Edit | Search dialog box

Edit | Replace Next


 Search & Replace Dialog Box (SQL Editor)

Use the Search & Replace dialog box to search for and replace text strings in your SQL statement.To open the Search & Replace dialog box, choose Edit | Replace.

Dialog Box Options

Search For

Type the text you want to look for, or paste it from the clipboard.

Replace With

Type the text you want to insert, or paste it from the clipboard.

Case Sensitive

Check this to make the search case-sensitive, that is, to consider whether letters are upper- or lowercase.

Replace All

Check this to replace every occurrence of the text you're searching for.

When you click OK, Paradox moves to the first occurrence of the text you want to find and replaces it. If you have checked Replace All, Paradox replaces every occurrence of the text you're searching for.

See Also

Edit | Replace

Edit | Replace Next


 Edit | Replace Next (SQL Editor)

Choose Edit | Replace Next to replace the next occurrence of the text specified in the Search & Replace dialog box.

To replace all occurrences of the text, choose Edit | Replace and check Replace All.

Note:	Replace Next is dimmed if you have not replaced anything in the current SQL Editor window.

See Also

Edit | Replace

Edit | Search


 Edit | Select All (SQL Editor)

Choose Edit | Select All to select all the text in the current SQL Editor window.


 SQL | Run SQL (SQL Editor)

Choose SQL | Run SQL to execute the current SQL statement. Paradox displays a status window to tell you the status of the query and displays the Answer table when the query is successfully completed. If you have not already selected an alias for the remote database, Paradox displays the Select Alias dialog box, where you can specify an alias before running the query.

Shortcut key  F8

You can also click the Run SQL button on the SpeedBar.

The Answer table is a temporary table. It is overwritten every time you run another query and deleted when you leave Paradox. To change the options for the Answer table, choose SQL | Answer Table Options. Paradox displays the Answer Table Options dialog box, where you can change the table name and specify whether to save the table as a Paradox or dBASE table.

To create a new SQL statement, choose File | New | SQL File. To select a different SQL statement to execute, choose File | Open | SQL File.

See Also

Creating a new alias

Answer Table Options

Alias Manager Dialog Box (SQL Editor)


 SQL | Select Alias (SQL Editor)

Choose SQL | Select Aliases to select the alias of the remote database you want to connect to.  Paradox opens the Select Alias dialog box where you can choose one of the aliases you created in the Alias Manager dialog box.

You can also click the Select Alias button on the SpeedBar.

To execute the SQL statement, choose SQL | Run SQL, or press F8. You can also click the Run SQL button on the SpeedBar [image].

To create an alias for the remote database, choose File | Aliases.

See Also

Alias Manager Dialog Box (SQL Editor)

Creating a new alias


 Select Alias button

Click Select Alias to select the alias of the remote database you want to connect to. Paradox opens the Select Alias dialog box where you can choose one of the aliases you created in the Alias Manager dialog box.

See also

Select Alias dialog box


 Select Alias dialog box (SQL Editor)

Use the Select Alias dialog box to choose an alias for the remote database to send your SQL query to. Paradox displays the aliases you created in the Alias Manager dialog box. Select an alias from the drop-down list box and click OK.

To execute the SQL statement, choose SQL | Run SQL or press F8. You can also click the Run SQL button on the SpeedBar [image].

To create an alias for the remote database, choose File | Aliases.

See Also

Creating a new alias

Alias Manager Dialog Box (SQL Link)


Answer Table Options (SQL Editor)
 SQL | Answer Table Options (SQL Editor)

Choose SQL | Answer Table Options to specify a name and table type for the Answer table before you execute the SQL statement. Paradox displays the Answer Table Options dialog box, where you can specify the answer table name, and whether you want the answer table to appear as a Paradox or dBASE table.

You can also click the Answer Table Options button on the SpeedBar.

See Also

Answer Table Options Dialog Box (SQL Editor)


 Answer Table Options Dialog Box (SQL Editor)

Use the Answer Table Options dialog box to modify the name and table type of an Answer table before you execute the SQL statement. To open the Answer Table Options dialog box, choose SQL | Answer Table Options or click the Answer Table Options button on the SpeedBar.

Dialog Box Options

Answer Name

Type the new table name in the box. When you run the query, the result appears in a table with the new name, rather than ANSWER.DB. This named table can be saved without renaming, but ANSWER.DB is a temporary table and can only be saved by renaming it.

You can change the location of the Answer table by typing another path name in the Answer Name box. When you save ANSWER.DB to a different directory, Paradox does not delete it when you exit the program. Caution: If the path you type already contains an Answer table, Paradox will overwrite this with no warning when you run the query.

Answer Type

Select Paradox (the default) or dBASE.

Choose OK to return to the SQL Editor. To execute the SQL statement, choose SQL | Run SQL or press F8. You can also click the Run SQL button [image] on the SpeedBar.


 Structured Query Language (SQL)

Structured Query Language (abbreviated SQL and commonly pronounced "sequel") is the standard language for storing and manipulating data in relational databases. SQL servers run on local area network (LAN) file-server systems, minicomputers, and mainframes.

SQL Link serves as the front end to the database server. For example, when you query a database server, the query is processed on the server, and SQL Link displays the query results in an Answer table.


 SQL Editor

Use the SQL editor to enter, save and execute SQL statements for your server.  You can also use the SQL editor to view the SQL statement that a Paradox query sends to your server.  When you save an SQL statement to your local hard disk, Paradox places it in a unformatted text file with a .SQL extension.

Choose File | Open | SQL File or File | New | SQL File to open the SQL Editor.